home *** CD-ROM | disk | FTP | other *** search
/ Workbench Design / WB Collection.iso / workbench werkzeuge / bildschirmschoner / madhouse / doc.guide (.txt) < prev    next >
Amigaguide Document  |  1996-04-07  |  104KB  |  1,900 lines

  1. @database Madhouse
  2. @author "Carsten Jahn"
  3. ## Amiga-Guide-Document for the Madhouse-Blanker.
  4. ## Please use AmigaGuide, MultiView or a text-viewer which can display
  5. ## Amiga-Guide-Files to read the texts.
  6. ## You can find several programs to display such a text on AmigaLibDisks
  7. ## or other PD-series. Without such a program, it is difficult to read
  8. ## the text - but it's possible.
  9. @node Main "Madhouse: Main page"
  10.   Have you got a screen blanker? Yes? Here is another one.
  11. Out of hundreds of screen blankers, there are three or four which are
  12. modulary with different blanker-modules. They all have some nice
  13. effects, but they all have some very stupid one's.
  14. Here is a modulary screen blanker which has many good effects, and
  15. other effects will follow. The main-program, Madhouse, is *VERY* con-
  16. figureable and has a lot of options. But look at them yourself. To see
  17. all the effects and to start working with Madhouse, read the little
  18. Workshop.
  19.                               Now enjoy!
  20.                               ~~~~~~~~~~
  21.        @{"               The Workshop: the quick start.             ",link workshop}
  22.        @{"       The Advanced Options: disks & passwords.           ",link adv_op}
  23.        @{"             The Blankmodes: all the options...           ",link blankers}
  24.        @{"           The Error System: fun with errors.             ",link errors}
  25.        @{"         The reference-part: How worked this gadget?      ",link reference}
  26.     !! @{"             For disk-users: All about Buffering          ",link buffering} !!
  27.        @{" Not only for C-programmers: Adding own modules           ",link programmers}
  28.        @{"            Troubleshooting: Known problems               ",link problems}
  29.        @{"        The authors and the: Copyright+Registration       ",link authors}
  30. @endnode
  31. @node workshop "The workshop"
  32. All right, you have pressed the right button to have fun with Madhouse.
  33. Now, we explore the functions of Madhouse together.
  34. @{B}0. Installation.@{UB}
  35.    The installation can be done completely by the Installerscript, which
  36.    is part of this distribution. All you have to do is double-click on
  37.    the icon named "Install". But this will only work if the program
  38.    "Installer", which executes the script, is in your C: directory. If
  39.    this is not the case, you can search it on your "Install"-Disk (if you
  40.    have one) or on the disks of other programs which submit an Installer-
  41.    script, and copy it to C:.
  42.    If you have no possibility to get the program (I don't expect so),
  43.    then you have to install Madhouse "by hand".
  44.    @{U}a) For a quick test of Madhouse:@{UU} just copy Madhouse/libs/amos.library
  45.    to libs:. (Perhaps you'll have to complete the path in front of "Mad-
  46.    house".) If you now run Madhouse from Workbench out of its original
  47.    directory, it will find the MadhouseConfigEd-program itself.
  48.    @{U}b) For permanent usage:@{UU} as the word "permanent" sais, the
  49.    WBStartup-Drawer will be used. So copy the program "Madhouse" to
  50.    SYS:WBStartup, and copy the amos.library to libs: (see section a). All
  51.    programs in WBStartup are started everytime you boot your computer.
  52.    If you have a harddisk, make a new drawer on it. Users without one will
  53.    have to format a new disk... Now copy the desired files (the doc of
  54.    your language, the icon you prefer) and the MadhouseConfigEd to the new
  55.    drawer or the disk. The background-process "Madhouse" will start the
  56.    MadhouseConfigEd itself, if this is necessary or if you want so. Don't
  57.    start it yourself, but make a start by Madhouse possible. So select
  58.    the icon of the Madhouse in your WBStartup-drawer, and call the menuitem
  59.    "Icon/Information". Change the Tooltype "CONFIGED=": insert the complete
  60.    path and the name of MadhouseConfigEd after the "=". Do not use spaces.
  61.    If your ConfigEd is in Work:Madhouse, the line has to look like this:
  62.    CONFIGED=Work:Madhouse/MadhouseConfigEd
  63.    You don't have to copy any catalogs, because "English" is the built-in
  64.    language of Madhouse.
  65. @{B}1. Start the program.@{UB}
  66.    This should be easy. Double-click on the icon.
  67.    If you don't have OS 2.0, Madhouse is not the only reason to upgrade.
  68.    In other words: OS 2.0 is needed. And a BIT of memory. Not for the main
  69.    program but for many of the blankers the amos.library is required. 
  70.    It is submitted with Madhouse. 
  71. @{B}2. A window will be opened.@{UB}
  72.    If not, everything is correct. If you want to open the window, then
  73.    - you DON'T have to press a hot-key which you always forget, and
  74.    - you DON'T have to start the Exchange-Program what you always delete.
  75.    Have you ever used the Tools-menu? Toolmanager is not the only program
  76.    which is able to merge an item to the list... So select "Madhouse"
  77.    in the Tools-menu! Madhouse only calls the ConfigEd (which opens the
  78.    window) without the command of the user, if it cannot find its
  79.    ENV:Madhouse.prefs.
  80.    If you get a requester which tells you something about incorrect pathes,
  81.    follow the instructions to quit Madhouse (by running it again after clo-
  82.    sing the requester), correct the path in the tooltype (see section 0.)
  83.    and start it again.
  84. @{B}3. Now enter the path of the blanker-modules!@{UB}
  85.    In the directory where you had installed to docs, there is a sub-
  86.    directory named "blankers". Click on the gadget with the little image
  87.    in it, next to the string-gadget. The ASL-directory-requester appears.
  88.    Then select the blankers-drawer. After that, you should see names like
  89.    "FlyingToasters" and so on. Be sure to select a path which begins with
  90.    the name of the disk - "Blankers/" is wrong, but "Work:Madhouse/Blankers"
  91.    will do fine.
  92.    If your directory was the right directory, the gadgets "Use", "Cancel"
  93.    and some others are enabled.
  94. @{B}-  If you haven't got a hard-drive...@{UB}
  95.    Please select "Buffering" in Advanced-Options. By default, "Buffering"
  96.    is already on. The gadget is in the Advanced-Options-Window or (if you
  97.    have @{"MUI",link mui_info} installed) on the Advanced-Page.
  98.    But please read @{"All about Buffering",link buffering}.
  99. @{B}-  If you have a hard-disk...@{UB}
  100.    You can deselect "Buffering" in the Advanced-Options-Window (or on the
  101.    Advanced-Page). But it will be explained later.
  102. @{B}4. Now we want to see the blank-Modules!@{UB}
  103.    @{U}Without MUI:@{UU}
  104.    Click on the cycle-gadget named "Edit" until you see the text 
  105.    "Prefs...". With this cycle-gadget you decide what happens when you
  106.    click on the list. In this mode, you can edit the preferences of the
  107.    module which you can select below. (In the preferences-editor is a
  108.    button which starts the blanker immediately, that's why we use this
  109.    option.) Now click on a name in the list.
  110.    @{U}With MUI:@{UU}
  111.    Go to the Blankers-Page. The list on this page allows you to open the
  112.    BlankerPrefs-Window. Double-click on a name on the list.
  113.    @{U}With and without MUI:@{UU}
  114.    A window opens. This is the BlankerPrefs-window. Please click on "Test".
  115.    Great, isn't it? To abort, press a key or a mousebutton. Now
  116.    change the parameters with the gadgets above. Click on on "Cancel" to
  117.    exit and on "OK" to exit and save. The "Duration"-Slider will be 
  118.    explained in the reference-part/the BlankerPrefs-window.
  119.    Choose other blankers in the list and have fun.... 
  120.    (twenty minuates later) ...finished? If you like Madhouse take a closer
  121.    look at the other gadgets in the mainwindow, otherwise (?!) click on 
  122.    remove.
  123. @{B}5. More information about the list(s)@{UB}
  124.    @{U}Without MUI:@{UU}
  125.    The list is used for two functions:
  126.    - You can open the BlankerPrefs-window and edit the settings for the
  127.      blanker-module you clicked on.
  128.    - You can decide which blanker(s) will be used when the time you
  129.      selected is over.
  130.    You know already how to edit the blanker-preferences: With "Prefs..."
  131.    in the Edit-gadget.
  132.    If you want to select the blankers which will be used when time's
  133.    up, select "Selection" in the Edit-gadget. Then the names will scroll
  134.    two chars, and you see "
  135.  " or "  " in front of the entrys.
  136.    Perhaps you already expect how this funktion works: with clicks on
  137.    the names you can toggle the blankers on or off.
  138.    @{U}With MUI:@{UU}
  139.    The MUI-part of the MadhouseConfigEd offers two lists on two pages. The
  140.    list on the Blankers-Page opens the BlankerPrefs-window, as you saw it.
  141.    The list on the System-Page lets you decide which blankers should be used
  142.    when the time you selected is over. By default, all blankers are selected,
  143.    but you can change the status of every blanker by clicking on its name.
  144.    The background color of the list changes as well.
  145. @{B}6. Select the time after the blanker should start to blank!@{UB}
  146.    With the "Time"-gadget.
  147. @{B}7. Save your configuration.@{UB}
  148.    Nothing easier than that: Click on "Save". The configuration will be
  149.    saved as "ENV:"- and "ENVARC:Madhouse.prefs".
  150. @{B}8. If you have no hard disk or if you need a password,@{UB}
  151.    Click here:@{"The Advanced Options", link adv_op}
  152. @endnode
  153. @node adv_op "The Advanced Options window / The Advanced-page"
  154. The Advanced Options-window/page offers some additional Features of Madhouse:
  155. @{B}1. Passwords@{UB}
  156.    If you want to use a password, check the "Password/Use"-Button. Enter
  157.    your password in the string-gadget. BE CAREFUL: Write it under your
  158.    mouse or on a disk or behind your monitor, but without knowing your
  159.    password, there will be no chance to go back to your application. (I
  160.    hope so...)
  161.    After setting the password, Madhouse lets you enter it again to see if
  162.    you are able to remember your password, and if all used chars are
  163.    valid for a password (you cannot use <Alt>, <Ctrl> and the Amiga-keys).
  164.    After you stopped a blanker, the password-screen will appear. You see
  165.    only a string-gadget (which is, in fact, not a real one). You don't
  166.    see a curser, and all chars you enter will be only displayed as a "*".
  167.    You have three chances to type the correct password. You can abort
  168.    the process by pressing Escape or confirm the password with Return.
  169.    Backspace deletes the right char. Other keys are not supported.
  170.    Case is sensitive.
  171.    Please check carefully if the Password-Screen is _really_ safe on
  172.    your computer-configuration. After a wrong password, it can take Mad-
  173.    house a short time to start the next blanker.
  174. @{B}2. Options for floppy disk users@{UB}
  175.    If you havn't got a hard disk, Madhouse is (at my knowledge) the ONLY
  176.    modular screen blanker you can use. What do you think will happen,
  177.    if you have installed Madhouse on a disk an the disk is not in the
  178.    drive when it's time to blank... All other screen blanker want to
  179.    attack the disk with their read-processes without checking if the disk
  180.    is in the drive... And if not, you see a requester like "Please insert
  181.    disk xy in any drive". But if you are away? (...)
  182.    So if you have no hard-disk, select buffering. If buffering is
  183.    selected, Madhouse will do these things:
  184.    - If you close the main window or in the moment you run Madhouse, it
  185.      will copy one of the selected blankers to it's subdirectory in the
  186.      Ram-Disk.
  187.    - If you go away, Madhouse will start the blanker from the Ram-Disk.
  188.    - Perhaps the disk is available although you selected buffering.
  189.      Then Madhouse will change the blanker, otherwise always the same
  190.      will be displayed. (Of course the blankers will only change during
  191.      the blank-period, if you selected "Change Blanker" in the main
  192.      window.)    
  193.    - If you abort the blanker by clicking with the mouse or pressing a
  194.      key on the keyboard, will wait for you to insert the disk with the
  195.      blankers. Of course not with the OS-Insert-Disk-requester, but
  196.      if you want, you can see a small window on the WB. (If you want this
  197.      window, select "@{B}Ask for Disk@{UB}".) If you insert the disk,
  198.      Madhouse will copy a "fresh" blanker in the subdirectory. Otherwise,
  199.      when you go away the second time, Madhouse will use the old blanker.
  200.    - The little window has also a close-gadget. Use it if you want Madhouse
  201.      NOT to load a blanker if the disk is in the drive.  
  202. @{B}3. The black background@{UB}
  203.    Especially with disks it can take some seconds to load a blanker.
  204.    If you don't want to see the Workbench between the blankers, check
  205.    "open Background/use". Then a black screen will be opened in front of
  206.    the others while Madhouse is blanking or loading blankers.
  207.    If you select also "display Info-texts", you will see the texts
  208.    "Madhouse: Loading blanker." and "Working. Please wait..." on this
  209.    screen, with a little logo an the left side.
  210. @{B}4. Other options@{UB}
  211.    The first "other option" is the "CPU active"-setting. With this cycle-
  212.    gadget you can select what Madhouse should do if your computer has some-
  213.    thing to work on. To start a complex screen-blanker would slow down the
  214.    calculations. So Madhouse checks the CPU-activity and - if your
  215.    processor is working - uses this setting to decide what to do. The
  216.    cycle-gadget has three positions:
  217.    - "use all Blankers" means that Madhouse doesn't take care of your CPU
  218.    at all.
  219.    - "only simple ones" influences the random-function of Madhouse. If this
  220.    option is active, Madhouse will only start Blankers which hardly need
  221.    the CPU. If you selected only Blankers which use your CPU a lot, you
  222.    will see a blank screen and after that a message which tells you
  223.    about this situation.
  224.    - "show nothing" tells Madhouse that it has to open a black screen if
  225.    your computer is working.
  226.    If you want to know which blankers are the big CPU-users, see
  227.    @{"all Blankers",link blankers}.
  228.    The second button is the Blanker-Pri-Cyclegadget. With this gadget you
  229.    can set (as the name says...) the task-priority of the Blankers. If
  230.    you use "CPU active: use all Blankers", this setting should be "0".
  231.    (Otherwise, a calculating program will be very slow if Madhouser starts
  232.    a Blanker which uses the CPU a lot.)
  233.    But if you use other "CPU active:" settings, you can set Blanker-Pri to
  234.    1. This would be the good combination. If you want your calculations (if
  235.    there are some) as fast as possible, you can use a Blanker-Pri of 0.
  236.    Remember that Madhouse checks the CPU @{U}before@{UU} starting a blanker. If a
  237.    program starts to calculate afters this check, maybe a CPU-using blanker
  238.    was started and slows down the other process... So decide carefully what
  239.    you set here!
  240.    Finally, there is the third cycle-gadget "Sound" in this category. It
  241.    will be only available for users who have got MUI.
  242.    This gadget switches between the two ways of playing mods while
  243.    blanking:
  244.    - with the medplayer.lirary by Teijo Kinnunen, which just plays MED or
  245.    - via Delitracker. Madhouse controls DeliTracker (
  246.  Delirium Softdesign,
  247.      Peter Kunath and Frank Riffel) with its ARexx-Port. You don't have to
  248.      start RexxMast for this, RexxMast is needed if you want to run ARexx-
  249.      Macros, but not for the communication of two "real" programs.
  250.    @{B}Let me say it in this chapter again: you can use this sound-option
  251.    @{U}only@{UU} if you have got a hard-disk!@{UB}
  252. @endnode
  253. @node blankers "All our blankers!"
  254. All blankers are listed in alphabetical order below, with all the
  255. information belonging to them.
  256.                                           
  257.                     @{"      CrazyPixel       ", link b_crazypixel}
  258.                     @{"     DigitalClock      ", link b_digitalclock}
  259.                     @{"         Drops         ", link b_drops }
  260.                     @{"       Fireworks       ", link b_fireworks }      
  261.                     @{"    FlyingToasters     ", link b_flyingtoasters }
  262.                     @{"        Glitter        ", link b_glitter }
  263.                     @{"        Memory         ", link b_memory }
  264.                     @{"         Note          ", link b_note }
  265.                     @{"        Shuffle        ", link b_shuffle }
  266.                     @{"        Skyline        ", link b_skyline }
  267.                     @{"         Soccer        ", link b_soccer }
  268.                     @{"    SoftwareFailure    ", link b_softwarefailure }
  269.                     @{"         Stars         ", link b_stars }
  270.                     @{"        Thunder        ", link b_thunder }
  271.                     @{"         Waves         ", link b_waves }
  272.                     @{"       Worldtime       ", link b_worldtime }
  273. Note that the @{B}Duration@{UB}-Slider and the gadgets below are explained
  274. in @{"Reference/BlankerPrefs-window", link ref_editPrefs}.
  275. @endnode
  276.                                 
  277. @node b_crazypixel "The blankers - CrazyPixel"
  278.                            @{B}CrazyPixel@{UB}
  279.                Created by Aicke Schulz, Version 1.
  280. This effect shows you a bouncing point or a "Wusel" (cannot be translated
  281. into english...).
  282.         Mode: switches between both modes. If Random is selected,
  283.               the program switches itself.
  284. Wusel lenght: sets the lenght of the Wusel.
  285.        Sound: adds sound to the bouncing point.
  286. CPU-usage: Low.    Memory-ussage: 160 kB.   Executable-size: 25 kB.
  287. @endnode
  288. @node b_digitalclock "The blankers - DigitalClock"
  289.                             @{B}DigitalClock@{UB}
  290.                  Created by Aicke Schulz, Version 1.
  291. Like other blankers, Madhouse has a "clock"-module. This one has a very
  292. nice digital-like font, vertical scrolling, a date and an alarm-function.
  293. Note: This effect needs a real-time-clock inside your Amiga.
  294.       Countdown: If this sliders is not set to "0", it sets the number of
  295.                  minutes after the blanker starts to get on your nerves
  296.                  with a very nice bell-sound.
  297.        Language: Is needed to select a format for the date and to switch
  298.                  between "alarm on" and "Alarm an".
  299.            Date: switches the date on or off.
  300.          Scroll: moves the clock.
  301. CPU-usage: Low.    Memory-usage: 180 kB.   Executable-size: 34 kB.
  302. @endnode
  303. @node b_drops "The blankers - Drops"
  304.                               @{B}Drops@{UB}
  305.                    Created by Aicke Schulz, Version 1.
  306. Drops are running down your screen.
  307.        Number: sets the number of drops which should be displayed
  308.                onscreen.
  309.         Color: Whow, the mega-mix of 5 color-palettes: Ocean, Wine,
  310.                Grass, Caramel and Fresh. Select Random and the
  311.                blanker will choose itself.
  312. CPU-usage: Low.    Memory-usage: 180 kB.   Executable-size: 17 kB.
  313. @endnode
  314. @node b_fireworks "The blankers - Fireworks"
  315.                              @{B}Fireworks@{UB}
  316.                     By Carsten Jahn, Version 1.
  317. This blanker shows a nice and colorful firework on your screen. It has
  318. four effects. You can use the sliders to set how often one effect should
  319. appear. If you don't use too high values, FireWorks is able to change
  320. the colors while one register is unused.
  321.           Spirals: sets how often Spirals are used.
  322.              Jets: sets how often Jets are used.
  323.             Balls: sets how often Balls are used.
  324.        Color-Jets: sets how often Multi-Color-Jets are used.
  325.        Pixelspeed: Perhaps you've noticed that this effect becomes slower
  326.                    and faster all the time. Try different values with
  327.                    the Pixelspeed-slider to get the right timing for your
  328.                    machine.
  329. CPU-usage: High.    Memory-usage: 110 kB.   Executable-size: 17 kB.
  330. @endnode
  331. @node b_flyingtoasters "The blankers - FlyingToasters"
  332.                            @{B}FlyingToasters@{UB}
  333.                   Created by Carsten Jahn, Version 1.
  334. Yeah, they are back. Being heavily inspirated from the AfterDark-Toasters
  335. (not the SuperDark-Toasters), I painted the graphics with PersonalPaint.
  336. They need a 16-color-hires-interlaced-screen and have 6 anim-phases.
  337. Perhaps I'll add a check for the "DblPal"-modus, but I think graphics
  338. don't flicker too much.
  339.         Toasters: sets the amount of toasters on the screen.
  340.           Toasts: sets the amount of toasts on the screen. The toasters
  341.                   will "overdrive" them, but not crash them.
  342.            Speed: can be a value from 1 to 7. 7 is the fastest mode.
  343.              Jam: adds jam to the toasts. The perfect breakfast!
  344. Double Buffering: enables, as the name says, double buffering. Normally,
  345.                   the blanker draws only on one screen, and you can
  346.                   perhaps see the "Blitter" working (depends on your
  347.                   Amiga and the settings). With double buffering, the
  348.                   program will draw on one screen (which you can't see)
  349.                   and shows another, older screen. Then it will swap them.
  350.                   Double buffering needs more memory. If it is not
  351.                   available the Toasters won't use double buffering.
  352.    In/Out Moving: With this option switched off, the Blanker will put and
  353.                   erase the Toasters immediately on the program's start /
  354.                   end. If you use "In/Out Moving", the Toasters will flew
  355.                   into the empty screen on startup. Before the Duration-
  356.                   time is over, the Blanker won't put any more Toasts, so
  357.                   that the screen will be left empty again.
  358.                   The last thing is only possible if "Change Blanker" was
  359.                   checked.
  360. CPU-usage: High.    Memory-usage: 297 kB.   Executable-size: 29 kB.
  361. @endnode
  362. @node b_glitter "The blankers - Glitter"
  363.                             @{B}Glitter@{UB}
  364.                 Created by Aicke Schulz, Version 1.
  365. It's not the last program-technical invention, but a nice effect that
  366. shows ... shows what? Glittering stars.
  367.        Number: sets the number of stars. This will slow down the startup-
  368.                process, but not the animation.
  369.    Cyclespeed: sets the speed of the "glittering".
  370. CPU-usage: Low.    Memory-usage: 218 kB.   Executable-size: 15 kB.
  371. @endnode
  372. @node b_memory "The blankers - Memory"
  373.                                @{B}Memory@{UB}
  374.                  Created by Aicke Schulz, Version 1.
  375. This is a very good possibility to see what is in your memory. The
  376. blanker shows the first MegaByte of Chipmem. You will see the the
  377. bitplanes of the opened screens, your Workench, icons and windows.
  378. The rest can be seen, but you won't recognize it: program code, texts,
  379. sounds. I once even saw disk-activitations, and a heard that the Blitter
  380. encrypts the data from disk. So you can see *perhaps* even this. I am
  381. not sure. In the top of the screen there is a red line. It shows the
  382. position of the view relatively to the 1 MB chipmem.
  383.       Speed: sets the speed of the memoryscrolling.
  384. CPU-usage: Low.    Memory-usage: 180 kB.   Executable-size: 14 kB.
  385. @endnode
  386. @node b_note "The blankers - Note"
  387.                                 @{B}Note@{UB}
  388.                   Created by Aicke Schulz, Version 1.
  389. Note has two functions in one blanker: on the one hand, you can tell the
  390. people who want to see you (while you are not there) where you are or
  391. something else. On the other hand, you can give these people the possi-
  392. bility to tell YOU something. Therefore, they can enter a bit of text.
  393. Note has three backgrounds for the memo pad.
  394.         Paper: This switch selects one of the background. By the way,
  395.                "Against AIDS" is a real memo pad which you can get in
  396.                Germany... see the german doc for the address.
  397.          Mode: Mode lets you decide between the sender- and receiver-mode.
  398.                If you select "Give Message", you have to use the text-
  399.                fields on the right side to enter the text. Every line must
  400.                end with <Return>! "Get Message" allows the visitors to
  401.                enter a message. If Change Blanker is not active, or if the
  402.                blanker is still working when you come back, you can read
  403.                the message. If the Duration-time of Note was up and another
  404.                blanker was started, you can read the message in the error-
  405.                list after stopping the blanker.
  406.        Static: With "Static" you can set the time (in seconds) after which
  407.                the pad moves again.
  408.     Textlines: If you selected Mode = Give Message, you have to use these
  409.                gadgets to edit your message. Not that you have to terminate
  410.                every line with <Return>!
  411. Error: If the mode is "get message", and the blanker stopped itself to
  412. allow Madhouse to start the next Blanker (Exchange-blanker-option), you'll
  413. get the message as an error.
  414. CPU-usage: Low.    Memory-usage: 210 kB.   Executable-size: 48 kB.
  415. @endnode
  416. @node b_shuffle "The blankers - Shuffle"
  417.                                @{B}Shuffle@{UB}
  418.                   Created by Carsten Jahn, Version 1.
  419. Have you ever seen a modulary screen-blanker without a "Shuffle"-module?
  420. Here is our one. But I didn't wanted to write such a simple Shuffle, but
  421. one with some new features.
  422. So this Shuffle is able to restore a puzzle.
  423. It is AGA-Chipset-sensitive and recognizes other Screenmodes like DblPal
  424. and others. You can use more colors, too. It will turn off the 3D-Grid
  425. if the colors are "wrong". And I hope it will run on graphic cards which
  426. use Screenmodes (tell me about it, I don't have such a card).
  427.          Mode: sets the Shuffle-mode. "Shuffle" is the normal Shuffle as
  428.                you surely know it. The other modes can only be used with
  429.                "Change Blanker" (main-window) activated, because the
  430.                blanker has to know where to stop. "Shuffle & Restore"
  431.                first shuffles the screen, and then solves the puzzle.
  432.                "Restore" starts with a shuffled screen and then restores
  433.                it in the "Duration"-time.
  434.         Speed: sets the speed of the shuffling.
  435.          Grid: turns the 3D-Grid on or off.
  436. Errors: perhaps a text like `The "Shuffle & Restore" mode and the "Restore"
  437. mode can be only used if "Exchange Blanker" is activated.' will occur.
  438. This means that you tried to use a Resore-mode although the blanker cannot
  439. know when to finish, but he has to know that because he does not know what
  440. to do after the restore is finished.
  441. CPU-usage: Low.    Memory-usage: ??? kB.   Executable-size: 13 kB.
  442. (The memory-usage depends on the screen copied by Shuffle and the mode-
  443. setting.)
  444. @endnode
  445. @node b_skyline "The blankers - Skyline"
  446.                                @{B}Skyline@{UB}
  447.                    Created by Aicke Schulz, Version 1
  448. This is Aicke's fantastic skyline-simulator which shows all hillbillies
  449. out there how a real town looks. Pixel for pixel a skyline appears.
  450. Some houses have flashing red lights on their roofs. The moon is moving,
  451. too! After some minutes you can see the city and the different types of
  452. windows.
  453.   Moonphase: is used together with "Setting". If you don't select "Random"
  454.              here, you can use "Setting" to set the moonphase.
  455.     Setting: Allows you to define how full the moon is.
  456.   Starcolor: "Off" switches all stars off, "Random" lets the computer de-
  457.              cide and with all other options you can set your favourite
  458.              starcolor.
  459.      Number: The number of stars.
  460.     Y-Limit: This slider defines the vertical limit of the stars. Skyline
  461.              won't set any stars under the screen-line you define here.
  462.         Sky: Different copper-lists for the background. "Night" switches
  463.              the copper-list off, I don't explain Random again...
  464. CPU-usage: Low.       Memory-usage: 200 kB.     Executable-size: 32 kB.
  465. @endnode
  466. @node b_soccer "The blankers - Soccer"
  467.                               @{B}Soccer@{UB}
  468.   Created by Carsten Jahn, a lot of anims by Aicke Schulz, Version 1.
  469. Hey, have you ever seen somethink like that? A soccer game as a screen
  470. saver. Forget your TV-set, now you can watch soccer while setting in front
  471. of your Amiga. Perhaps, with this blanker, soccer will become more popular
  472. in the U.S.A.
  473. Soccer has no sound, it's your task to cheer.
  474. If there is enough memory, Soccer uses Double Buffering.
  475.  Line-up White / Red: With these switches you can select the line-ups for
  476.                       the two teams.
  477.  Keeper intelligence: Of course, there is no intelligence in your Amiga,
  478.                       but this slider allows you to set the "synthetic"
  479.                       intelligence of the goalkeepers.
  480. CPU-usage: High.       Memory-usage: 378 kB.     Executable-size: 45 kB.
  481.        If there is a lack of memory: 260 kB.
  482. @endnode
  483. @node b_softwarefailure "The blankers - SoftwareFailure"
  484.                          @{B}SoftwareFailure@{UB}
  485.                 Created by Aicke Schulz, Version 1.
  486. After a short pause you come back into the room where your computer
  487. stands. And what do you see there: a red, flashing box around a short
  488. text. Ah, no! What was the reason for this crash? But don't mind, after
  489. you've pressed the left mouse button you can work on. SoftwareFailure
  490. tries to shock nervous poeple...
  491.      Effekt: SoftwareFailure offers three effects to you, these effects
  492.              start after a time which you can set with "Wait".
  493.              "Bounce" makes your Guru bounce, "Crazy" makes the letters
  494.              move and "Melt" does something else.
  495.        Wait: sets the time (in seconds) after one of the effects starts.
  496. CPU-usage: Low.        Memory-usage: 150 kB.     Executable-size: 29 kB.
  497. @endnode
  498. @node b_stars "The blankers - Stars"
  499.                                  @{B}Stars@{UB}
  500.                    Created by Carsten Jahn, Version 2
  501. What should I say... This is the Madhouse-version of the well-known star-
  502. blankers. They have an new effect that I haven't yet seen on an Amiga:
  503. The turns and the backwards gear. Try it out.
  504. Many settings....
  505.  Number of Stars: sets the number of stars.
  506. Normal movements (movements ON the z-achsis):
  507.          Maximum: speed of the stars.
  508.          Manimum: speed of the stars. Negative values = bachwards gear.
  509.          Changes: sets how often the stars change their speed (between the
  510.                   two values you can select with Minimum...Maximum.
  511.            Start: sets the start speed.
  512. Turns (movements AROUND the z-achsis):
  513.          Maximum: speed of the turn.
  514.     Acceleration: sets how fast the stars get their new speed.
  515.          Changes: sets how often the stars change their turn-speed.
  516.            Start: sets the start speed.
  517. Shifts (movements on the x- and y-achis):
  518.            Speed: sets the speed of the shiftings.
  519.            Usage: How often this effect will be used. "0" means never,
  520.                   "10" means always.
  521.              X/Y: Which achis (or both?) will be shifted.
  522. CPU-usage: High.       Memory-usage: 70 kB.     Executable-size: 11 kB.
  523. @endnode
  524. @node b_thunder "The blankers - Thunder"
  525.                                @{B}Thunder@{UB}
  526.                  Created by Aicke Schulz, Version 1.
  527. Thunders inside your Amiga! With the realistic sound. As you know, sounds
  528. are slower then light. So you can hear a thunder always some seconds after
  529. you saw him. These "some seconds" change with the distance of the thunder.
  530. This was implemented in Thunder.
  531.  Flash Interval: with this button you can choose how long "Thunder" will
  532.                  wait between two thunders.
  533.        Distance: This value tells "Thunder" how long it has to wait
  534.                  between the thunder and the sound. 
  535.           Sound: switches the sound on or off.
  536. CPU-usage: Low.       Memory-usage: 185 kB.     Executable-size: 32 kB.
  537. @endnode
  538. @node b_waves "The blankers - Waves"
  539.                                @{B}Waves@{UB}
  540.         By Carsten Jahn, many colorsets by Aicke Schulz; Version 1.
  541. Here is a blanker which mades very interesting Plasma-effects. I don't
  542. want to explain in detail how this was made (because I had even problems
  543. explaining it in german, sorry).
  544. On the left side of the BlankerPrefs-Window you see a selection of
  545. color-palettes. Waves uses one of these which have are activated (check-
  546. mark). If you deactivate all colorsets, Waves will choose itself.
  547. On the right side are the parameters which influence the shape of the
  548. waves:
  549.     WaveSize: influences the thickness of the waves.
  550.       XWaves: sets the width of the waves.
  551.       YWaves: sets the height of the waves.
  552.        XSize: is the maximum of the horizontal sinus-arc.
  553.        YSize: is the maximum of the vertical sinus-arc.
  554.       XSpeed: sets the speed of the horizontal screen-scrolling.
  555.       YSpeed: sets the speed of the vertical screen-scrolling.
  556. It is useful to experiment with the parameters.
  557. CPU-usage: Low.       Memory-usage: 212 kB.     Executable-size: 14 kB.
  558. @endnode
  559. @node b_worldtime "The blankers - Worldtime"
  560.                              @{B}Worldtime@{UB}
  561.                  Created by Aicke Schulz, Version 1.
  562. Worldtime shows you a map of the world and a lot of cities (red points).
  563. Now it draws little boxes near the cities, including the name of the
  564. city and the time there.
  565.             Order: decide here if you want to see the cities in alphabe-
  566.                    tical order or in no order ("Random").
  567.              Wait: How long the box will stay near a city (in seconds).
  568. Hours and Minutes: I hope your Amiga-clock is set correct. This para-
  569.                    meter says the blanker where @{B}you@{UB} live.
  570.                    Please set it to the time-lag of the place where you
  571.                    live, compared with the MEZ (Mitteleurop
  572. ische Zeit-
  573.                    zone, Germany for example needs the values "0" and
  574.                    "0"). Normally, you'll just have to change the hours.
  575.          Language: Sets the format of the date.
  576. CPU-usage: Low.       Memory-usage: 290 kB.     Executable-size: 51 kB.
  577. @endnode
  578. @node errors "The error system"
  579.   Madhouse knows a lot of errors... The errors are devided into two groups.
  580.   One the one hand, the main-program can display errors. You see them
  581. in a window on the Workbench, with a "Continue"-gadget below.
  582.   On the other hand, the blankers check their environment and the selected
  583. options. If something goes wrong, they don't display the error themselves,
  584. but they give the text to Madhouse. If you started the blanker yourself in
  585. the BlankerPrefs-window, the window will get a bit larger, and you can read
  586. the error in the bottom of the window.
  587.   If the blanker was started by Madhouse, Madhouse will first try to start
  588. other blankers you selected. If no blanker is left, you will see a black
  589. screen. You can close the screen like you quit the blankers: by pressing
  590. a key or a mousebutton. Now you see the Workbench and the Errorlist,
  591. a window which shows you all the errors which occured. You can scroll
  592. through it and perhaps change some settings afterwards.
  593.   If you want more information about a blanker-error you can look at it's
  594. description.
  595. The errors from the main-program are explained below (excluding these ones
  596. which have to do with "not enough memory"-situations).
  597. @{B}@{U}PROBLEMS WITH FILES AND DIRECTORYS@{UB}@{UU}
  598. @{I}Generally: Not all files are important, the files including settings
  599. and configuations can be restored by simply setting these settings again
  600. and saving them. (Files: ENV:Madhouse.prefs and blankers/.../prefs)
  601. All other files are difficult to restore, like the blanker-executables
  602. and ther gadget-files. @{UI}
  603. @{B}  File ENV:Madhouse.prefs does not exist.@{UB}
  604. This is not a real problem, it simply shows you that you have to configu-
  605. rate Madhouse again, because it's config-file "ENV:Madhouse.prefs" is not
  606. available.
  607. @{B}  Please select a COMPLETE path,...@{UB}
  608. Why a complete path? A path like "/blankers" or "df0:Madhouse/blankers"
  609. is not enough, because Madhouse has to identify the Volume containing
  610. it's blankers, if you use the buffering-mode. So please select a
  611. path like "Work:Tools/Madhouse/blankers".
  612. @{B}  BlankerInfo-Chunk does not exist!@{UB}
  613. In the "gadget"-file of this blanker is no BlankerInfo-Chunk. So Madhouse
  614. cannot read wether the blanker uses the CPU a lot or not.
  615. @{B}  Unknown macro: xx@{UB}
  616. In the gadget-file of the called blanker is a macro xx which doesn't
  617. exists.
  618. @{B}  Couldn't get a lock on this directory!@{UB}
  619. Perhaps you entered a path in the ASL-directory-requester which isn't
  620. correct, or a disk-copy-program locked the whole disk.
  621. @{B}  Couldn't create the subdirectory "Ram:..."@{UB}
  622. Perhaps your Ram:-Disk isn't mounted.
  623. (By the way: If you want Madhouse to use another Device for it's storage-
  624. directory, you can only use a binary editor like "AZap" (
  625.  by Denis
  626. Gounelle). But I think this won't be necessary, because a device like
  627. DF0: won't be fast enough, if you want to use a statical RAM-Disk like
  628. VD0: or SD0:, you have to delete the storage-directory after every reset
  629. (otherwise you will get this error, because Madhouse is NOT resident), and
  630. to use a hard-disk for that is just joke, the directory includes only
  631. very small files (except the blankers, but with a hard-disk you can turn
  632. the buffering-mode off).
  633. @{B}  You started Madhouse the second time. Do you want to remove it?@{UB}
  634. To start Madhouse twice is another possibility to quit it. This requester
  635. asks you if it is that what you want.
  636. @{B}  No amos.library@{UB}
  637. Madhouse wants to copy the file LIBS:amos.library to the RAM:-Disk, if
  638. "Buffering" is on. You have not installed the library.
  639. @{B}@{U}A FILE IN THE BLANKER'S SUBDIR IS MISSING!@{UB}@{UU}
  640. @{I}Generally: See "generally" above.@{UI}
  641. @{B}  Couldn't load the "gadget"-file!@{UB}
  642. The gadget-definition is needed to open the window.
  643. @{B}  The "prefs"-file is not in the subdir!@{UB}
  644. Not a real problem. You will have to configurate this blanker again.
  645. Move every slider, on the startup without a prefs-file in the blanker's
  646. subdir every slider has the value 0.
  647. @{B}  Couldn't access "RAM:Madhouse_Storage/prefs"!@{UB}
  648. There is no prefs-setting-file in the blanker's subdirectory.
  649. @{B}  Couldn't start this blanker:@{UB}
  650. The "blanker"-file in the blanker's subdir is missing.
  651. @{B}@{U}THE OTHER STUPID ERRORS...@{UB}@{UU}
  652. @{I}Perhaps all errors are stupid, but here are the real stupid one's.@{UI}
  653. @{B}  Problems with your password@{UB}
  654. You cannot use <Alt>, <Ctrl>, <Caps Lock> and other keys while
  655. entering the password. So your password mustn't have capital letters.
  656. You can use the numbers, 
  657. @{B}  Need a stack minimum of 4.096!@{UB}
  658. The stack is just a block of memory which is allocated by DOS (not by the
  659. program) for every started program. So the program itself has no ability
  660. (on my knowledge) to size this stack. The user who starts the program has
  661. to size this stack. But don't worry: normally it's easy and you don't have
  662. to do it often. Where you input the stack size (which
  663. should be 4096 Bytes) depends on where you start Madhouse. I explain
  664. three ways here:
  665. 1. From the Workbench or by moving Madhouse's icon into the WBStartup-
  666.    drawer: 
  667.    Click once on Madhouse's icon. Select "Information" in the "Icon"-Menu.
  668.    A requester appears. Click in the box near "Stack:" and correct the
  669.    value.
  670. 2. From the Shell or the S:User-Startup / S:Startup-Sequence:
  671.    Every Shell-window has it's own stack-value. The programs you run from
  672.    this Shell get this value. You set this value by typing
  673.    stack 4096 <Return>
  674.    in this window before starting Madhouse.
  675.    In the Startup-Sequences you insert this line before the Madhouse-call.
  676. 3. From the Toolmanager:
  677.    Enter the value 4096 in the program-requester for Madhouse.
  678. 4096 bytes is the normal value for Amiga-programs - so there shouldn't be
  679. any problems, but who knows?
  680. @{B}  208   Bug #1 in program!@{UB}
  681. It's hardly possible to get this error. The Bug #1-error is only a
  682. help for me to write a program with less/no bugs.
  683. @{B}  No chance to run Madhouse on your 1.3-machine!@{UB}
  684. Arrrrgh! OS 2.0 is needed by so many programs, why do you use this
  685. terrible 1.x-version? You can get the new ROM's and the software in a lot
  686. of Amiga-shops, and if your old software needs 1.3 you can buy a switch
  687. for two ROMs. It's very easy to insert the new ROM's into EVERY Amiga, and
  688. it doesn't cost much!
  689. If you have OS 2.0 and you get this message, you have a real problem...
  690. @{B}  Couldn't open asl.library V37!@{UB}
  691. The asl.library is not in the LIBS: path.
  692. @{B}  Couldn't generate AppItem!@{UB}
  693. @{B}  Couldn't create Message-Port for AppItem!@{UB}
  694. Internal errors.
  695. @{B}  Can't read the "gadget"-file of this blanker! (You need a newer
  696.   Version of Madhouse)@{UB}
  697. The first line "Madhouse, Blankerwindow-Def V1" is not in the prefs file
  698. of this blanker! Perhaps you made a fault in creating a gadget-file, or we
  699. made a newer Madhouse which is _that_ new that it is not able to load the
  700. old files (I think I'm not going to change something in the file structure,
  701. so all old gadget-files will be compatible to new ones.)
  702. @{B}  File mismatch: Chunk "Dimensions" must be the first Chunk!@{UB}
  703. This Chunk MUST BE the first Chunk of the prefs-file.
  704. @{B}  BlankerPrefs-window too big for this screen!@{UB}
  705. Try a bigger Workbench or a lower Width/Height-Value.
  706. @{B}  Enter a higher value in "CHUNK:DIMENSIONS" - Gadgets!@{UB}
  707. Don't think about it... do it!
  708. @{B}  Wrong Statements in CHUNK:MUI-PREFSORDER.@{UB}
  709. As the message says, you made a mistake in that chunk.
  710. @{B}  Couldn't access the Config-Editor.@{UB}
  711. Madhouse wasn't able to start the programm "MadhouseConfigEd". If it was
  712. able to get the settings, it can continue running, and you can change
  713. the ToolType. If the settings were not available, Madhouse has to quit.
  714. The previous requester and this one tell about this situation.
  715.    So quit Madhouse (if you need to do so) and change the Tooltype
  716. "CONFIGED=" of Madhouse, so that it includes the complete path and the name
  717. of MadhouseConfigEd. If you do not want to start Madhouse with WBStartup
  718. or with the Workbench, but with the Shell, remember that Madhouse searches
  719. the ConfigEd in the current directory in this case.
  720. @{B}  The MadhouseConfigEd can only be started by Madhouse itself.@{UB}
  721. As the requester sais, MadhouseConfigEd can only be started by Madhouse,
  722. not by the user. (This was necessary, because both programs use the
  723. Madhouse_Storage-drawer, which can result in conflicts if both programs
  724. run at the same time.)
  725. @endnode
  726. @node buffering "All about the buffering-option!"
  727.   Madhouse offers a lot of intern functions which help users who don't
  728. have a hard-disk. You enable all these functions by checking "buffering"
  729. in the Advanced-Options window/page.
  730. If this option is enabled, Madhouse will
  731. - permanently store a blanker in the "RAM:Madhouse_Storage/"-Directory.
  732. - load a new blanker in this directory, if you selected more than one
  733.   and the blanker was used already. If you selected "Ask for Disk",
  734.   Madhouse will open a new window which shows that Madhouse is waiting
  735.   for it's disk.
  736. - copy the libs:amos.library to the RAM:-Disk, so the blankers can reach
  737.   it.
  738.   If a blanker allows you to configurate a filename, and the blanker wants
  739. to load it, it should be in the blanker's subdirectory. When Madhouse
  740. copies a blanker to the RAM:-Disk, it copies all files in it's sub-
  741. directory with him. Then you can just enter "File_xy" and the blanker
  742. will try "RAM:Madhouse_Storage/File_xy" or
  743. "Work:Madhouse/Blankers/NiceBlanker/File_xy"; depending on what Madhouse
  744. tolds him. But at the moment no blanker uses extern files.
  745. @endnode
  746. @node reference "The reference-part"
  747.   In this part of the Madhouse-documentation, you can look up the functions
  748. of all the gadgets and some other facts, without reading the long work-
  749. shop.
  750. @{B}Without MUI:@{UB}
  751.                @{"        The main window        ",link ref_mainwin}
  752.                @{"    The BlankerPrefs-window    ",link ref_editPrefs}
  753.                @{"  The Advanced Options window  ",link adv_op}
  754.                @{"        The Error List         ",link errors}
  755.                @{"    The Ask-For-Disk-window    ",link ref_littlewin}
  756. @{B}With MUI:@{UB}
  757.                @{"        The main window        ",link ref_muimainwin}
  758.                @{"    The BlankerPrefs-window    ",link ref_editPrefs}
  759.                @{"        The Error List         ",link errors}
  760.                @{"    The Ask-For-Disk-window    ",link ref_littlewin}
  761. @{B}Tooltypes@{UB}
  762.                @{"           CONFIGED            ",link tt_configed}
  763.                @{"           QUIETQUIT           ",link tt_quietquit}
  764. @endnode
  765. @node tt_configed "Reference: Tooltypes - CONFIGED"
  766. Type the complete path of MadhouseConfigEd after the "=", example:
  767. CONFIGED=Work:Madhouse/MadhouseConfigEd
  768. Do not use spaces next to the "=".
  769. @endnode
  770. @node tt_quietquit "Reference: Tooltypes - QUIETQUIT"
  771. If this tooltype is set, Madhouse does not bother you with a requester,
  772. if you wanted quit it by starting it again. Remove it or set it in
  773. brackets to enable the requester.
  774. @endnode
  775. @node ref_mainwin "Reference: The main window"
  776. @{B}I. How to open this window@{UB}
  777. You can open the window by selecting the item "Madhouse" in your Workbenchs
  778. "Tools"-Menu. This menu is only available, if you activate a Workbench-
  779. window or if you click on the Workbench-screen.
  780. @{B}II. The gadgets@{UB}
  781. Click on the gadgets to get information about them.
  782.                        Edit @{"   Prefs...  ",link main_edit}
  783.                        @{"    The List      ",link main_list}
  784.                        Path @{"Work:Tools/Ma",link main_path}
  785.                        @{" Advanced Options ",link main_advOpt}
  786.                        Time @{"   |         ",link main_time}
  787.                        @{"   ",link main_changeBl} Change Blanker
  788.                        @{"       Save       ",link main_save}
  789.                        @{"        Use       ",link main_use}
  790.                        @{"      Remove      ",link main_remove}
  791.                        @{"       Info       ",link main_info}
  792. @{B}III. How to save the settings@{UB}
  793. Just click on "Save".
  794. @{B}IV. How to close the window@{UB}
  795. Click on "Save" or "Use" to close the window. Remember: while this window
  796. is open, Madhouse won't check if it's time to start a blanker.
  797. @endnode
  798. ## The Gadgets
  799. @node main_edit "Reference - Main window: Edit"
  800. This gadget allows you to change the contents of the list below.
  801. It can display two texts:
  802.    "Selection": Now you can use the list to disable/enable the blankers.
  803.    "Prefs...":  In this mode, you can open the BlankerPrefs-window to
  804.                 change the setting for the blanker you selected in the
  805. If the gadget is @{B}disabled@{UB}, a wrong path for the blankers is
  806. selected. In this case, use the Path-gadget to select a better path.
  807. See also: @{"the workshop", link workshop}, point 5 (the list and the Edit-gadget).
  808. @endnode
  809. @node main_list "Reference - main window: The list"
  810. The list is connected with the Edit-gadget. Select with the Edit-gadget
  811. what you want to edit, and edit it with this list.
  812. If you want to edit the preferences of a special blanker, select "Prefs..."
  813. in the Edit-gadget and click on the blanker in the list.
  814. To select the blankers which will be used later, select "Selection" in the
  815. Edit-gadget and then the blankers in the list.
  816. A selected blanker has a "
  817.  " in front of his name.
  818. If the list is @{B}disabled@{UB}, a wrong path for the blankers is selected.
  819. In this case, use the Path-gadget to select a better path.
  820. It may be that the @{B}list contains the old data@{UB} after you have changed
  821. something in the blankers-directory. Then just click in the Path-Gadget
  822. and type <return> to read the new path. (Madhouse doesn't read the
  823. directory on every startup. It would use too much time while booting.
  824. And, of course, you could change the directory while Madhouse is running.)
  825. See also: @{"the workshop", link workshop}, point 5 (the list and the
  826. Edit-gadget).
  827. @endnode
  828. @node main_path "Reference - main window: Path (Stringgadget)"
  829. If the Use-gadget and some others are disabled, use this gadget to enter
  830. a correct path for the blankers. 
  831. Be sure to insert a complete path, with the name of the volume in it.
  832. Madhouse needs this name for the Buffering-option.
  833. The path is correct if it ends with "blankers" (if you haven't changed
  834. the directoryname). Madhouse recognizes the path if it has the file
  835. "the_right_drawer" in it, so don't delete this file.
  836. @endnode
  837. @node main_advOpt "Reference - main window: Advanced Options"
  838. Madhouse has even more options. Select this gadget to get a new window
  839. with new gadgets and new options...
  840. See @{"Advanced Options", link adv_op} for the description of the new
  841. gadgets.
  842. @endnode
  843. @node main_time "Reference - main window: Time"
  844. If you leave your Amiga, Madhouse waits a special time before its starts
  845. the first blanker. Select this time with the Time-gadget (in seconds).
  846. @endnode
  847. @node main_changeBl "Reference - main window: Exchange Blankers"
  848. With this gadget you can specify if Madhouse changes the blankers after
  849. a while. If you turn it on, the "Duration"-Sliders in the BlankerPrefs-
  850. windows will be enabled. With the "Duration"-Slider of every Blanker-module
  851. you can select how long it will work.
  852. Of course it is not very intelligent to change the blanker if only one
  853. is activated, in this case the "Exchange Blankers"-gadget will be disabled.
  854. @endnode
  855. @node main_save "Reference - main window: Save"
  856. Exit window and save options. This will be saved to
  857. "ENV:" resp. "ENVARC:Madhouse.config":
  858. - The options from the main window / system page.
  859. - The options from the Advanced-Options-window/page.
  860. - The current position of the "Waiting for Disk..."-Window.
  861. - The Duration-setting of every blanker.
  862. - The names of the blankers and if they are selected or not.
  863. So if you work on the blankers-drawer, Madhouse won't recognize it until
  864. you load the directory again (by pressing <return> in the "Path"-Stringgad-
  865. get). On the other hand, Madhouse can just read all the information out
  866. of it's config-file, without having to read the directory on every startup.
  867. @endnode
  868. @node main_use "Reference - main window: Use"
  869. This gadget closes the window without saving all the stuff.
  870. You can open it again by selecting "Madhouse" in the WB's Tools-Menu.
  871. @endnode
  872. @node main_remove "Reference - main window: Remove"
  873. Removes Madhouse.
  874. @endnode
  875. @node main_info "Reference - main window: Info"
  876. A window will appear which shows some information about our program.
  877. @endnode
  878. @node ref_littlewin "Reference: The AskForDisk-window"
  879. The AskForDisk-window (the one with the little disk in it, appearing only
  880. if "Ask for Disk" is selected) shows you that Madhouse needs your Blanker-
  881. disk to be able to start a new blanker the next time.
  882. If you close the window, Madhouse won't load a new blanker even if you in-
  883. sert the disk.
  884. @endnode
  885. @node ref_editPrefs "Reference: The BlankerPrefs-window"
  886. @{B}I. How to open this window@{UB}
  887. To open the BlankerPrefs-window, you have to open the main window first.
  888. Then select "Prefs..." in the Edit-Cyclegadget and click on a blanker.
  889. @{B}II. The gadgets@{UB}
  890. Based on which blanker you selected, the gadgets in this window are
  891. differend. But four gadgets can be found in every BlankerPrefs-window:
  892. @{I}II.1 The Okay-gadget@{UI}
  893. Saves the preferences you set above to "blankers/blankername/prefs".
  894. @{B}Notice:@{UB} You have to use the Save-gadget in the main window to save the
  895. Duration-Value!
  896. @{I}II.2 The Test-gadget@{UI}
  897. This gadget runs the blanker with the selected options.
  898. @{I}II.3 The Cancel-gadget@{UI}
  899. Quits the Preferences-Editor without saving the prefs.
  900. @{I}II.4 The Duration-slider (MUI: not here, but on the Blankers-page)@{UI}
  901. You can select how long this blanker will be shown if Exchange Blanker
  902. in the main window is selected. Otherwise, this gadget is disabled and
  903. wouldn't make much sense.
  904. @endnode
  905. @node ref_muimainwin "Reference: The MUI-window"
  906.            @{B}The gadgets on the bottom of the window:@{UB}
  907.                @{"             Save             ",link main_save}
  908.                @{"              Use             ",link main_use}
  909.                @{"            Remove            ",link main_remove}
  910.                          @{B}System-page@{UB}
  911.                @{"           The List           ",link ref_muilist}
  912.                @{"             Path             ",link main_path}
  913.                @{"             Time             ",link main_time}
  914.                @{"       Exchange Blankers      ",link main_changeBL}
  915.                          @{B}Advanced-page@{UB}
  916.            See @{"        Advanced Options      ", link adv_op}
  917.                         @{B}Blankers-page@{UB}
  918.                @{"           The List           ",link ref_muibllist}
  919.                @{"           Duration           ",link ref_muiduration}
  920.                @{"            Author            ",link ref_muiauthor}
  921.                @{"           CPU load           ",link ref_muicpuload}
  922.                @{"           Version            ",link ref_muiversion}
  923.                @{"  The Sound-Menu as a PopUp   ",link ref_muisound}
  924.                           @{B}Info-page@{UB}
  925.                @{"          Textgadget          ",link ref_muiinfo}
  926. @endnode
  927. @node ref_muilist "Reference - main window/System: The list"
  928. The list makes it possible to select/deselect the blankers. Only selected
  929. blankers will be used for blanking. Using this list can be uncomfortable
  930. if you run MUI with the wrong settings: this is the case if all blankers
  931. are deselected if you just click into the list.
  932. You can prevent MUI from doing so if you select "always" in the "select"-
  933. cycle.
  934. If the list shadowed, a wrong path is selected.
  935. @endnode
  936. @node ref_muibllist "Reference - main window/Blankers: The list"
  937. The list on Blankers-page has two tasks, depending on how you click:
  938. - one click:
  939. will display the information of this blanker in the right side of the
  940. window. The duration-gadget will be updated, too.
  941. - doubleclick:
  942. The BlankerPrefs-window will be opened. If the selected blanker has
  943. no information to build a MUI-window, a normal one will be opened.
  944. @endnode
  945. @node ref_muiduration "Reference - main window/Blankers: Duration"
  946. With this slider, you can select how long the highlighted blanker will
  947. work, after tis time (in minutes) Madhouse will start another blanker.
  948. Note that this will only happen if "Exchange Blanker" is selected.
  949. Otherwise, you cannot use the gadget.
  950. @endnode
  951. @node ref_muiauthor "Reference - main window/Blankers: Author"
  952. Here you can see the name of the author of this blanker.
  953. @endnode
  954. @node ref_muicpuload "Reference - main window/Blankers: CPU load"
  955. Here you can see if the blanker uses the CPU a lot ("medium to high") or
  956. if he hardly uses it (low). This is necessary for the "CPU active"-setting,
  957. which will not take a "medium to high"-blanker if "use simple ones" is
  958. selected there.
  959. See @{"Advanced Options", link adv_op} for further explanation.
  960. @endnode
  961. @node ref_muiversion "Reference - main window/Blankers: Version"
  962. Here you can see the version-number of the selected blanker.
  963. @endnode
  964. @node ref_muisound "Reference - main window/Blankers: Sound"
  965. With this sound-menu, it is possible to assign a music-module to a blanker
  966. and to hear it.
  967. @{FG Highlight}For this purpose, the medplayer.library or the DeliTracker is used,
  968. depending on what you set on the Advanced-page. If you want to use the
  969. DeliTracker, it has to be running; if you want to use the medplayer.-
  970. library, you need it in LIBS: and you can only use MED-mods.@{FG Filltext}
  971. First of all, you'll have to select a blanker (click one time). If you
  972. already selected a mod for it, you will see it in the string-gadget. Of
  973. course you have not, otherwise you won't read this chapter... So click on
  974. the popup-button next to the string-gadget.
  975. The Sound-Popup appears. It has the following gadgets:
  976. @{FG Highlight}Add...@{FG Filltext}
  977. Use this button (and select a filename) to add a file to the soundlist.
  978. @{FG Highlight}Del@{FG Filltext}
  979. Deletes a file from the soundlist. Every blanker which had this mod in his
  980. sound-setting has now no module any more.
  981. @{FG Highlight}Tapedeck-play-arrow@{FG Filltext}
  982. Do you really need an explanation for this gadget? Arrrgh, here it is:
  983. this gadget plays the selected module.
  984. @{FG Highlight}Tapedeck-stop-button@{FG Filltext}
  985. Stops the music.
  986. @{FG Highlight}The soundlist@{FG Filltext}
  987. The task of the soundlist is to handle the modules you want to use with
  988. Madhouse. You can double-click on the list to use the selected mod with
  989. the selected blanker and to close the popup. But the real intention for
  990. me to program this list was the fact that every user expects a list when
  991. he or she clicks on an popup-button...
  992. By the way, you can enter the pathname directly into the string-gadget,
  993. but that's boring, isn't it?
  994. If you think that Madhouse saves the list itself (your hard work!), you're
  995. wrong. Madhouse only saves the blanker-sound-settings and will rebuild
  996. the list on the next start of the program. So if you add a module to the
  997. list and if you don't use it, it will be erased after the MadhouseConfigEd
  998. quits.
  999. Now here is a nice hint from Aicke: if you want the Delitracker to be quiet
  1000. after Madhouse-activities, disable "Play at Start" in the Delitracker-
  1001. Config.
  1002. @{FG Highlight}Stop! Please read this section, too! It is very important that the sound-
  1003. feature of Madhouse can only be used with a hard-disk. But there is a way
  1004. to use it without a hard-disk, but only with DeliTracker:
  1005. Copy the module of your wishes into the subdirectory of the blanker which
  1006. should use it.
  1007. Select Buffering on the Advanced-Page (should be already on...).
  1008. Select "RAM:Madhouse_Storage/mod.Module" in the sound-setting. You cannot
  1009. use the filerequester for that, because the file is not there at the mo-
  1010. ment. Of course, you'll have to insert the name of your module instead of
  1011. "mod.module".
  1012. See also @{"Buffering-Option", link buffering}.@{FG Filltext}
  1013. @endnode
  1014. @node ref_muiinfo "Reference - main window/Blankers: Info"
  1015. In the last page, you can find some information about us, and my hand-
  1016. drawn-Madhouse-logo!
  1017. @endnode
  1018. @node programmers "Stuff for programmers: Adding own modules to Madhouse!"
  1019. Madhouse is an "open system" which allows you to add own modules.
  1020. The first question should be:
  1021.                   @{" Can I use my programming language? ", link p_language}
  1022. After this, you can write and compile the blanker.
  1023.                   @{"   How should I write my blanker?   ", link p_code}
  1024. Now you can include your blanker into Madhouse's directory-tree.
  1025.                   @{"         My own directory!          ", link p_dir}
  1026. This is all you have to know if you want to write a very simple blanker.
  1027. But for a real blanker, you need a BlankerPrefs-window. In fact, you have
  1028. to write the "gadget"-file. If you want to open the BlankerPrefs-window,
  1029. Madhouse reads this file and creates a "User-Interface" for your blanker.
  1030.                   @{"           The gadget-file          ", link p_gadget}
  1031. That's all! If you have problems, please write us!
  1032. Now, I want to tell something to people who really want to write a blan-
  1033. ker and to distribute it:
  1034. 1. Please don't write a blanker like Lines. Of course it's your decision
  1035.    to distribute a blanker or not. But it would be great if the
  1036.    level of the blankers could be kept. Your idea should be a bit unusual.
  1037. 2. Perhaps you think of distributing your blanker together with Madhouse.
  1038.    Please don't do so yourself. This distribution mustn't be distributed
  1039.    in a modified form.
  1040.    If you want to see your blanker among ours, please send it to us. Then
  1041.    it will appear in the next version. But in this case it could be that
  1042.    we don't want to include your blanker (this seems to be arrogant, but
  1043.    what shall we do if someone really wrote a Lines-blanker?!).
  1044.    Don't be angry if we return your blanker with three pages suggestions
  1045.    for improvement...
  1046. @{I}If you want to use AMOS as a programing language, there will be some
  1047. problems if you don't use the correct compiler-settings. Please look at
  1048. the listing in the developer-drawer.
  1049. C-Programmers should look at the C - listing in the same drawer.@{UI}
  1050. @endnode
  1051. @node p_language "Can I use my programming language?"
  1052.   Yes.
  1053.   Perhaps you think it's not possible with a language like Basic, but it
  1054. is. Many of the blankers were written in AMOS, others in C++. These very
  1055. different languages show that Madhouse is compatible to a lot of languages.
  1056. @{B}You can use every language which
  1057. - offers a compiler to create executable files
  1058. - has commands to open a screen
  1059. - has commands to read and write files.@{UB}
  1060.   These languages are:
  1061. Assembler, AMOS (buy the compiler!), C, C++, Pascal, Modula, Oberon,
  1062. GFA-Basic (buy the compiler), Blitz-Basic, Amiga-Basic (buy a compiler),
  1063. Amiga-E and a lot of languages more.
  1064.   The only language I know which cannot be used is Arexx. A compiler is
  1065. available and you can read and write files. But it can't open screens.
  1066. (Perhaps there's an Arexx-Library available which offers you this
  1067. function, then you can use even Arexx.)
  1068. @endnode
  1069. @node p_code "How should I write my blanker?"
  1070.   To answer to this question, I describe what happens when Madhouse
  1071. starts a blanker.
  1072.   Every blanker should have settings. You can set them with the Blanker-
  1073. Prefs window of the blanker. Madhouse writes them to (for example)
  1074. ".../blankers/BlankerXY/prefs". When Madhouse starts a blanker, it copies
  1075. the "prefs"-file from the blanker's directory to the RAM:-Disk
  1076. ("RAM:Madhouse_Storage/prefs"). Then it adds two lines: How long the
  1077. blanker can blank ("Duration") and what the directory for it's data is.
  1078. (This information is only necessary if a blanker wants to load data,
  1079. the "prefs"-file is always in "RAM:Madhouse_Storage/".
  1080. Such a prefs-file can look like this:
  1081. RAM:Madhouse-Storage
  1082.   Here, the blanker has only one setting: 3. This "3" can be changed by
  1083. the user, perhaps with a slider in the Blanker-Prefs window. Or the
  1084. "3" means that the user selected the fourth (!) entry of a cycle-
  1085. gadget. How to create the gadgets will be explained later.
  1086.   The last two lines include always the "Duration"-Time in Minutes
  1087. (here 1) and the path for other datas. If the blanker has more settings
  1088. and more gadgets, the prefs-file is longer...
  1089. $A text, string-gadgets are supported, too!
  1090. Madhouse_Disk:Blankers/MyBlanker
  1091.   This blanker has three settings. You see, string-gadgets in the
  1092. BlankerPrefs-window are possible, too. But you get the text with a
  1093. "$" in front of it. Here is the duration-value 0, which means that the
  1094. blanker doesn't have to check when it has to quit.
  1095.   After reading this file, the blanker can start. He should open a screen
  1096. and react on the settings. While "blanking", he should test if the user
  1097. pressed a key on the keyboard or clicked with the mouse. Please don't
  1098. test if the user moved the mouse. This can happen even if the user
  1099. doesn't want to stop the blanker. If the "Duration"-value is not 0,
  1100. the blanker has to check when it has to stop.
  1101.   If the blanker stops because of a user-action, it has to create the
  1102. file "RAM:Madhouse/Stopblank" (by just opening (for writing) and closing
  1103. it). Otherwise, because of the "Duration"-value, the blanker can just
  1104. quit. The screen must be closed, of course...
  1105.   Perhaps an error occurres. The the blanker has to APPEND the error into
  1106. "RAM:Madhouse_Storage/errors".
  1107. @endnode
  1108. @node p_dir "My own directory!"
  1109.   As you know, Madhouse has an own directory for every blanker. This has
  1110. many advantages, its easy to store all files of a blanker in one
  1111. directory. The directory has another special Aufgabe for Users without
  1112. a hard-disk: If the blanker should load a file that the user selected,
  1113. the user can simply copy this file into the blanker's directory and type
  1114. in the filename without the path. Buffering must be selected, and the
  1115. blanker can just try to open the file. He should try it twice: With..
  1116. 1. the filename. This is for users with a hard-disk, who type in the
  1117. complete filename. Otherwise this attempt will fail. Then the blanker
  1118. can try
  1119. 2. the path from the prefs-file (last line) + the filename. This would
  1120. be always correct in the case I explained above.
  1121.   So create a dubdirectory with the name you want in the blankers/-
  1122. directory. Please don't use a too long name, because it has to fit in
  1123. the listview-gadget of the main-window.
  1124.   Now copy your blanker-executable in it and rename it into "blanker".
  1125.   Create an empty file named "prefs" and copy it into your sub-directory.
  1126. (It's difficult to create a real empty file [lenght=0] with a text-editor
  1127. or such a thing. You can use the prefs-file from the developers-drawer.)
  1128.   Then run Madhouse and read the blankers-directory with the Path-string-
  1129. gadget. You will see your blanker in the list. You can select/deselect
  1130. it, but you cannot open the BlankerPrefs-window. You can run it by
  1131. selecting it and deselecting the others, and clicking on "Use". Now
  1132. wait....
  1133. @endnode
  1134. @node p_gadget "The gadget-file"
  1135. I hope you know already that "gadgets" are the little boxes, where you can
  1136. move the mouse cursor to and click with the left mousebutton...
  1137. Now we want to take a look on such a gadget-file.
  1138. (Here the gadget-file of CrazyPixel.)
  1139. Madhouse v1.0, BlankerPrefs-Window
  1140. CHUNK:DIMENSIONS
  1141. Gadgets 3
  1142. Texts 5
  1143. Arrays 1
  1144. CHUNK:WINDOW
  1145. 338,62
  1146. CHUNK:DURATION_POS
  1147. 112,53,150,12
  1148. CHUNK:GADGETS
  1149. Cycle,112,4,150,12,Mode,TextLeft
  1150. 1,Done
  1151. 3,Bouncing Point,Wusel,Random
  1152. Slider,112,19,150,12,Wusel lenght,TextLeft
  1153. 5,SlMin,1,SlMax,20,Done
  1154. Checkmark,112,34,26,12,Sound,TextLeft
  1155. 1,Done
  1156. CHUNK:BEVELBOXES
  1157. 0,0,330,49
  1158. 0,49,330,20
  1159. CHUNK:BLANKERINFO
  1160. Aicke Schulz
  1161. You can see:
  1162. 1. The first line includes a text which MUST be in the first line. Madhouse
  1163.    recognises it's gadget-files with this line.
  1164. 2. The gadget-file is organized in Chunks. This means that every Chunk has
  1165.    a Chunk-Header which identifies it (for example: CHUNK:GADGETS).
  1166.    If the Chunk-Header is unknown, Madhouse skips it.
  1167. I'll explain the Chunk-contents later. Very important to know is, that
  1168. -  you can mix up the Chunks, there is no defined order. BUT: The Chunk
  1169.    "Dimensions" must be the first one!
  1170. -  you can insert empty lines between two Chunks. But not in the Chunks.
  1171.    Exception: CHUNK:GADGETS allows blank lines between the single gadget-
  1172.    definitions.
  1173. -  You must write the Chunk-headers and their contents correctly, case is
  1174.    sensitive.
  1175. Now the explanation of the Chunks (a "*" means optional, you don't have
  1176. to write the Chunk in the gadget-file, but you can).
  1177.                       @{"   CHUNK:DIMENSIONS     ", link p_dimensions }
  1178.                       @{"   CHUNK:WINDOW         ", link p_window }
  1179.                       @{"   CHUNK:DURATION_POS   ", link p_duration }
  1180.                       @{"   CHUNK:GADGETS        ", link p_gadgets }
  1181.                       @{"   CHUNK:BLANKERINFO    ", link p_blankerinfo }
  1182.                       @{" * CHUNK:BEVELBOXES     ", link p_bevelboxes }
  1183.                       @{" * CHUNK:TEXTS          ", link p_texts }
  1184.                       @{" * CHUNK:LOCALE         ", link p_locale }
  1185. Up to now, I said nothing about MUI-windows: if you want a MUI-window for
  1186. your Blanker, you should read the next chapters. But creating gadget-files
  1187. which have no chunks for non-MUI-windows won't work.
  1188. In the next chapters I explain the usage of two chunks for MUI-windows.
  1189. As the MUI-syntax differs a lot from the one you know already, I still have
  1190. a lot of work to do... I hope everybody can understand my explanations,
  1191. although I will write them very fast (I want to FINISH this english doc).
  1192. If you don't, please look into the MUI developer kit (available as FD).
  1193. But I think you will get that. So start the work:
  1194. @{"                      MUI for MUI-greenhorns.                            ",link pm_start}
  1195. @{"                          The MUI-groups                                 ",link pm_groups}
  1196. @{"                          The MUI-gadgets                                ",link pm_gadgets}
  1197. @{"                      The CHUNK:MUI-PREFSORDER                           ",link pm_mpo}
  1198. @endnode
  1199. @node p_dimensions "CHUNK:DIMENSIONS"
  1200. This very short Chunk must be the first one (was explained above).
  1201. It contains three values:
  1202. CHUNK:DIMENSIONS
  1203. Gadgets x
  1204. Texts y
  1205. Arrays z
  1206. x = The amount of gadgets in your BlankerPrefs-window. Don't count
  1207.     the Duration-slider and the three buttons on the bottom of the
  1208.     window, Madhouse will add them later.
  1209. y = The amount of texts. You can get this value by calculating:
  1210.     y = x (Gadgets have one text for their name) + the amount of all
  1211.         possibilities of Cycle- and Radio-Gadgets.
  1212.     You don't add the number of texts of the Text-Chunk to this value.
  1213.     So you just add the amount of gadgets to the amount of Cycle-
  1214.     entries, and you have the value.  
  1215.     If you are not sure, you can enter a higher value here.
  1216. z = The amount of Cycle- and Radio-Buttons. 
  1217. @endnode
  1218. @node p_window "CHUNK:WINDOW"
  1219. CHUNK:WINDOW
  1220. x = The width of your window in pixels.
  1221. y = The height of your window in pixels.
  1222. @endnode
  1223. @node p_duration "CHUNK:DURATION_POS"
  1224. CHUNK:DURATION_POS
  1225. x,y,w,h
  1226. As explained in CHUNK:DIMENSIONS, you don't count the Duration-slider
  1227. and the three buttons "OK", "Test", "Cancel" to YOUR amount of gadgets.
  1228. So you cannot set the position of them like you do it with the other
  1229. gadgets.
  1230. Madhouse spreads the three buttons automatically on the bottom of your
  1231. window. But you can set the position of the Duration-slider yourself,
  1232. with this Chunk.
  1233. x = Left edge of the Duration-slider, relative to the left border of the
  1234.     window.
  1235. y = Top edge of the Duration-slider, relative to the top border of the
  1236.     window.
  1237. w = width of the Duration-slider.
  1238. h = height of the Duration-slider.
  1239. @endnode
  1240. @node p_gadgets "CHUNK:GADGETS"
  1241. The CHUNK:GADGETS contains this:
  1242. type,x,y,w,h,name,flags
  1243. number of tags,tag1,data1,tag2,data2...
  1244. [number of array-elements,element1,element2,...]
  1245. for every gadget. This sounds very difficult. But I'll explain this
  1246. bit of text for every gadget-type.
  1247. Look at the other gadget-files, open their BlankerPrefs-window and
  1248. compare!
  1249. The first line is always similar:
  1250.    type = The type of the gadget. This value decides between Slider-,
  1251.           Radio-, Cycle-, String-, Number- or Checkbox-Button.
  1252.           You can write here:
  1253.           String       for Stringgadgets,
  1254.           Checkmark    for Checkmark-gadgets,
  1255.           Slider       for Sliders
  1256.           Cycle        for Cycles
  1257.           Number       for Integer-gadgets or
  1258.           Radio        for Radio- (MX-) gadgets.
  1259. x,y,w,h = The position and dimensions of the gadget. x = Left edge,
  1260.           y = top edge, w = width and h = height.
  1261.    name = The name of the gadget 
  1262.   flags = Allows you to set the position of "name".
  1263.           TextLeft     for a text which is on the left side.
  1264.           TextRight    for a text which is on the left side.
  1265.           TextTop      for a text which is above the gadget.
  1266.           TextBottom   for a text which is below the gadget.
  1267. The second line for each gadget is the tag-line. Some gadgets need special
  1268. information, for example Sliders: they want to know what the minimum and
  1269. maximum value is. Other gadgets, like CheckMarks, Cycles and so on doesn't
  1270. need tags: for them you just write
  1271. 1,Done
  1272. A @{B}Slider{UB} needs tags. For that kind of gadget you write
  1273. 5,SlMin,minimum,SlMax,maximum,Done
  1274. Of course you'll have to insert your values for "minimum" and "maximum".
  1275. If you want, a @{B}Stringgadget@{UB} can have tags, too. But here they are
  1276. optinional, you don't have to use them. If you want less the 500 chars
  1277. as maximum for the stringgadget, you can use
  1278. 3,StMaxChars,maximum of chars,Done
  1279. Maximum of chars has to be less then 500. Otherwise, 500 will be used.
  1280. You can write the keywords ("String", "StMaxChars", "Done") like you want,
  1281. case is not sensitive.
  1282. The third line, the array-line is only needed for two types of gadgets:
  1283. Cycle- and Radio-Buttons. Otherwise you write nothing for it.
  1284. Be sure to set the correct value for arrays in HUNK:DIMENSIONS!
  1285. If you want a Cycle- (Radio-) gadget, the third line could look like
  1286. this:
  1287. 4,Color 1,Color 2,Color 3,Color 4
  1288. for a Cycle-gadget that allows 4 choices. The first value sets the number
  1289. of choices, the rest of the line are the choices, devided by ",".
  1290. @endnode
  1291. @node p_blankerinfo "CHUNK:BLANKERINFO"
  1292. Madhouse reads this Chunk while reading the directory. It contains
  1293. some data which is not needed in the current version, but perhaps
  1294. I'll add a function to Madhouse to view these data.
  1295. @{B}WARNING: Madhouse reads the data in this chunk while reading the
  1296. Blankers-directory, NOT (!) while opening the BlankerPrefs-window. If
  1297. you change something in this chunk, Madhouse will use the old cpu-usage
  1298. and stack-values until you don't use the Path-gadget! @{UB}
  1299. CHUNK:BLANKERINFO
  1300. version
  1301. cpu-usage
  1302. stack
  1303.      name = Your Name.
  1304.   version = The version of your blanker. Starts with 1, and mustn't be
  1305.             a floating-point number. so 1.3 is wrong, but 3 is correct.
  1306. cpu-usage = This value can be 0 or 1. If you select "CPU-sensitive
  1307.             Random" in the Advanced-Options window, Madhouse will test
  1308.             if a program calculates something before it starts a blanker.
  1309.             In this case, it won't start your blanker if cpu-usage is 1.
  1310.             In other words: if your blanker uses much CPU-performance
  1311.             (check it with a cpu-tool), you should enter 1. Otherwise 0.
  1312.     stack = The stack depends on your compiler and on your program. Try
  1313.             first 5000. If your blanker crashes or aborts, try more...
  1314.             (See the documatation for your compiler).
  1315. @endnode
  1316. @node p_bevelboxes "CHUNK:BEVELBOXES"
  1317. "Bevelboxes" are the boxes without function, but they look like a gadget.
  1318. You can see them in the Stars-BlankerPrefs-window.
  1319. CHUNK:BEVELBOXES
  1320. amount
  1321. x,y,w,h
  1322. [x,y,w,h]
  1323. [x,y,w,h]
  1324. [...]
  1325. amount = The number of Bevelboxes.
  1326.      x = x-position of the box.
  1327.      y = y-position.
  1328.      w = Width of the box.
  1329.      h = Height of the box.      
  1330. After the Chunk-header follows the number of boxes.
  1331. Then every box has it's own line.
  1332. @endnode
  1333. @node p_texts "CHUNK:TEXTS"
  1334. The Text-Chunk must be used for all texts which don't belong to gadgets.
  1335. You can use it like the Bevelboxes-Chunk: The number of texts must be in
  1336. the first line,
  1337. CHUNK:TEXTS
  1338. number
  1339. color,x,y,Text
  1340. [color,x,y,Text]
  1341. [color,x,y,Text]
  1342. [...]
  1343. number = The number of texts.
  1344.  color = The color for this text.
  1345.      x = x-position of the text.
  1346.      y = y-position of the text.
  1347.   Text = The text itself. Don't use quotation marks.
  1348. @endnode
  1349. @node p_locale "CHUNK:LOCALE"
  1350. CHUNK:LOCALE
  1351. language1,language2,...
  1352. While localizing (giving several languages to a program) Madhouse, I found
  1353. out that I need to localize the BlankerPrefs windows, too. Therefore, the
  1354. chunks GADGETS and MUI-WINDWLAYOUT need the gadget texts for every
  1355. language, not just for one. Two examles:
  1356. CHUNK:GADGETS
  1357. CYCLE,112,4,170,12,"Mode,Modus",TEXTLEFT
  1358. 1,DONE
  1359. 3,"Bouncing Point|Wusel|Random,Springender Punkt|Wusel|Zufall"
  1360. SLIDER,112,19,170,12,"Wusel lenght,Wusell
  1361. nge",TEXTLEFT
  1362. 5,SLMIN,1,SLMAX,20,DONE
  1363. CHECKMARK,112,34,26,12,"Sound,Toneffekt",TEXTLEFT
  1364. 1,DONE
  1365. CHUNK:MUI-WINDOWLAYOUT
  1366. ColumnGroup(2),
  1367.    Label( "_Mode,_Modus" ),
  1368.    Cycle( "m", "Bouncing Point|Wusel|Random,Springender Punkt|Wusel|Zufall" ),
  1369.    Label( "Wusel _lenght,Wusel_l
  1370. nge" ),
  1371.    Slider( "l", 1, 20 ),
  1372.    Label("_Sound,To_neffekt"),
  1373.    HGroup,
  1374.       CheckMark( "s,n" ),
  1375.       HVSpace,
  1376.    End,
  1377. (Please don't be frustrated, if this is the first MUI-WINDOWLAYOUT-Chunk
  1378. you've seen in your life: You do not need to understand it if you did
  1379. not look at the MUI chapters up to now.)
  1380. The Locale-chunk concerns all textdefinitions (recognizable with the
  1381. "-char) in the gadget file. As you can see, every text has a ,-char now.
  1382. The comma seperates the different languages. The left parts of the texts
  1383. are the english texts (1st language), the right parts the german ones
  1384. (2nd language). Other languages could follow. So the right CHUNK:LOCALE
  1385. looks like this:
  1386. CHUNK:LOCALE
  1387. english,deutsch
  1388. Madhouse works like this:
  1389. - If the MadhouseConfigEd recognizes on startup, that this is no OS 2.1 or
  1390.   higher Amiga, it uses english as the default language. Otherwise it uses
  1391.   the language set with the Locale-editor (from the Workbench), for example
  1392.   deutsch.
  1393. - Before opening a BlankerPrefs window, MadhouseConfigEd searches for the
  1394.   CHUNK:LOCALE. If there is none (this Chunk is optional!), it prints the
  1395.   texts into the BlankerPrefs window without any change.
  1396.   But if there is one, MadhouseConfigEd looks into the line with the
  1397.   languages and searches the user-defined language ("english" if this is an
  1398.   OS 2.0 Amiga). If it can find this language, it memorizes the amount of
  1399.   commas skipped, and will skip this amount of commas for every text defi-
  1400.   nition. If it cannot find the language, it uses the first one (SHOULD BE
  1401.   "english").
  1402. As you can see above, in cyclegadget defintions the comma has a higher
  1403. priority than the |-separator. Madhouse does the locale-parsing first, and
  1404. then separates the cycle-entries. For MUI-programmers: the control-keys
  1405. are texts, too. So you can define different keyboard "maps" for every
  1406. language, perhaps "_Sound,To_neffekt" and "s,n". If a translation pro-
  1407. duces the same word ("_Level,_Level" and "l,l"), you don't have to use
  1408. the locale-feature and can write "_Level" and "l". Madhouse does no
  1409. locale-parsing if it cannot find a comma in the string.
  1410. Use non-capital letters for the language names, and use the language itself
  1411. to write the name of it. Examples: fran
  1412. ais, english, deutsch, ...
  1413. I hope I made all things clear - ..
  1414. @endnode
  1415. ## -------------------------------------------------------------------
  1416. @node pm_start "MUI for MUI-greenhorns."
  1417. Creating a MUI-windowlayout is very different. So stop thinking about
  1418. pixels and fonts, and start thinking about the basic layout of windows.
  1419. Here you see a window:
  1420.          +--+----------------------------------------+--+--+
  1421.          |  | Title                                  |  |  |
  1422.          +--+----------------------------------------+--+--+
  1423.          |                    Button 1                     |
  1424.          +-------------------------------------------------+
  1425.          |                    Button 2                     |
  1426.          +-------------------------------------------------+
  1427.          |                    Button 3                     |
  1428.          +-------------------------------------------------+
  1429.          |                    Button 4                     |
  1430.          +-------------------------------------------------+
  1431. What do you see there? How are the buttons placed? - Vertically. I hope
  1432. this is the right word, my #?*%-dictionary does not contain the word
  1433. "untereinander". (If you have a better dictionary, you can look it up :-)
  1434. But MUI-like we say: The buttons are grouped vertically.
  1435. If the window from above was made by MUI, the programmer had just to tell
  1436. MUI to build a vertical group and give it these four gadgets, and MUI
  1437. calculated the positions and sizes of the gadgets - very easy.
  1438. Perhaps you already know what comes next: horizontal groups containing
  1439. some gadgets. So we have vertical and horizontal groups and gadgets (of
  1440. course not just buttons but different types of gadgets, that makes no
  1441. difference at the moment). But a real window layout is much more compli-
  1442. cated. A now comes the point: Groups can contain more than gadgets, they
  1443. can also contain new groups! It's the same thing with files and
  1444. directories: a directory can contain files and directories containing
  1445. even more files and directorys.
  1446. < Think a bit. >
  1447. So how looks our window if we replace a horizontal group with two gadgets
  1448. for button 3? If you think you know the answer, let's see that you are
  1449. right: @{" ",link pm_solv}
  1450. But for real windows we need more gadget types. And these other types
  1451. have a box containing the gadget itself, like our button, but they also
  1452. have a text in front of them, like the "Exchange Blanker"-Checkmark and
  1453. all the others have one. We call these texts "labels".
  1454. Usually, you define two objects for every gadget: the label and the
  1455. gadget itself. Madhouse has some short forms of gadget-definitions con-
  1456. taining also an label on the left side if the gadget, but you use these
  1457. forms very seldom.
  1458. The reason for that is that all MUI-objects (gadgets, labels [and groups])
  1459. have some stretching-limitations. You can make a slider as long as you
  1460. want, but it has a fixed height. This is also true for buttons, string-
  1461. gadgets and cycle-gadgets. Some objects cannot be stretched at all: labels
  1462. (containing their text with a fixed width ein height) and checkmarks.
  1463. Listviews can be stretched in all directions. So if you use the short form
  1464. of a slider for three sliders in a vertical group, to build three sliders
  1465. over another with descrptions an their left sides; you will get these
  1466. sliders, but the left edges of the sliders won't match at all. The window
  1467. will look like that:
  1468.          +--+----------------------------------------+--+--+
  1469.          |  | Title                                  |  |  |
  1470.          +--+----------------------------------------+--+--+
  1471.          | (This is label 1) | (Slider 1-----------------) |
  1472.          +-------------------------------------------------+
  1473.          | (label 2) | (Slider 2-------------------------) |
  1474.          +-------------------------------------------------+
  1475.          | (and label 3) | (Slider 3---------------------) |
  1476.          +-------------------------------------------------+
  1477. (Note that I marked the dimensions of the objects like that: (-----). )
  1478. This does not look very nice. This happens because the labels have a fixed
  1479. width and the sliders are used to fill the box. In this case, you need
  1480. column groups. Unlike the other groups, column groups have an argument:
  1481. the amount of columns. So if you create a column group with three columns,
  1482. containing 6 Buttons, you will get something like that:
  1483.          +--+-----------------------------------------------+--+--+
  1484.          |  | Title                                         |  |  |
  1485.          +--+-----------------------------------------------+--+--+
  1486.          |    Button 1    |    Button 2    |    Larger Button 3   |
  1487.          +--------------------------------------------------------+
  1488.          |    Button 4    |    Button 5    |       Button 6       |
  1489.          +--------------------------------------------------------+
  1490. Even if the texts inside the buttons have a different lenght, MUI will
  1491. group them in a way that every part of one column has the same width.
  1492. But we need a solution for our problem above, with the sliders. To have
  1493. the same width for all sliders, we make a column group with two columns,
  1494. containing a label, a slider, a label, a slider, a label and a slider
  1495. (in that order). Then we get
  1496.          +--+----------------------------------------+--+--+
  1497.          |  | Title                                  |  |  |
  1498.          +--+----------------------------------------+--+--+
  1499.          | (This is label 1) | (Slider 1-----------------) |
  1500.          +-------------------------------------------------+
  1501.          | (        label 2) | (Slider 2-----------------) |
  1502.          +-------------------------------------------------+
  1503.          | (    and label 3) | (Slider 3-----------------) |
  1504.          +-------------------------------------------------+
  1505. That's much better! But how does this look like in the gadget-file?
  1506. First, I will tell you how our first example looks like:
  1507. CHUNK:MUI-WINDOWLAYOUT
  1508. VGroup,
  1509.    Button1,
  1510.    Button2,
  1511.    Button3,
  1512.    Button4,
  1513. In our new chunk "MUI-WINDOWLAYOUT" we put a vertical group. This group
  1514. reaches up to "End". It's the same with IF and ENDIF in a programming
  1515. language: every ENDIF matches to one IF. Inside the group, we write
  1516. the objects which are assoziated with it, in this case four buttons.
  1517. Every line ends with a "," - but you are not allowed to merge two lines
  1518. to one! You don't have to "indent" the lines like I did it, but you
  1519. should do this because it is easier to read. You can use spaces or
  1520. TAB's for that.
  1521. And how about our column group from above? For didactical purpose, I
  1522. don't use a cycle-gadget instead of the third slider.
  1523. CHUNK:MUI-WINDOWLAYOUT
  1524. ColumnGroup( 2 ),
  1525.    Label( "_Label 1" ),
  1526.    Slider( "l", 1, 10 ),
  1527.    Label( "L_abel 2" ),
  1528.    Slider( "a", -5, 20 ),
  1529.    Label( "La_bel 3" ),
  1530.    Cycle( "b", "First entry|Second entry|Third entry" ),
  1531. Now the chunk contains a column group, as we need one for the correct
  1532. formatting of the labels. The "( 2 )" says the column group to make two
  1533. columns. A column group has to be filled up to the right-most column. In
  1534. this case, the group can have 2, 4, 6, 8, ... "children". Child is the
  1535. MUI-word for an assoziated object. If a column group as five columns, it
  1536. can respectively have 5, 10, 15 and so on children. If you don't want
  1537. to fill every place in column group, there is "dummy" object for that,
  1538. which I will explain later.
  1539. As the last example is one which could be written into a gadget-file
  1540. without changes, you can see there the definitions for labels, sliders and
  1541. cycle-gadgets. A label is done by the keyword "Label", including the text
  1542. of the label in this form: Label( "Text" ),. You can use an underscore _ to
  1543. underline the following char. This is used to show the user which key of
  1544. the keyboard can be pressed to control the gadget.
  1545. A slider comes next: this type of object needs three arguments: the
  1546. control-key (which should be marked in the label before), the minimum and
  1547. the maximum value. So the first example produces a slider which ranges from
  1548. 1 to 10. You can also use negative values, see the second slider.
  1549. The cycle-object needs two parameters: the control key, which is always the
  1550. first parameter of every gadget, and the different cycle-entries, separated
  1551. with "|". On my german keyboard, I can find this char next to the
  1552. backspace-key.
  1553. Please note that you cannot use every control-key you want: you can only
  1554. use non-capital letters and you cannot use the chars o, t and c, because
  1555. they are already used by the three buttons on the bottom of every Blanker-
  1556. Prefs-window.
  1557. And now comes an example where we need to put one group into another.
  1558. Please wait patiently while I'm explaining the situation where we need
  1559. one... (just building up the problem for my solution :-/ )
  1560. Perhaps (oh, I'm sure...) you have noticed that MUI arranges the gadgets
  1561. automatically (that is why we don't need pixel-coordinates) and
  1562. dynamically. This means that almost every MUI window has a size-gadget,
  1563. which allows us to size it, and MUI recalculates the gadget-positions so
  1564. that everything fits into the window again. But have you noticed that you
  1565. can size a lot of MUI windows only horizontally, the height is fixed?
  1566. (Try some BlankerPrefs-windows). Can you imagine why this happens?
  1567. Every MUI-object (gadgets and groups, but we'll start with gadgets) has
  1568. its minimums and maximums for width and height. Sliders, string-gadgets
  1569. cycle-gadgets and some more have a fixed height (minimum height = maximum
  1570. height), but no fixed width (maximum width is VERY big). To scale the
  1571. height of a cycle-gadget would make the cycle-gadget looking silly.
  1572. Lists have neither a fixed height nor a fixed width, checkmarks have both.
  1573. So we have answered an half of our question: you can size a lot of MUI
  1574. windows only horizontally, because a lot of windows contain objects with
  1575. a fixed height.
  1576. But we still need the problem? Here it comes. Try to replace the cycle-
  1577. gadget by a checkmark (see our latest example, slider - slider - cycle).
  1578. Now, the result looks quite strange: as the two sliders and the check-
  1579. mark are placed in the same column, MUI wants to give them the same width.
  1580. As MUI failes in scaling the checkmark horizontally, it gives the sliders
  1581. the width of the checkmark, which is of course too small for a slider.
  1582. The window has no size-gadget at all, because the group inside the window
  1583. cannot be sized (the left column is blocked by the labels, the right by
  1584. the checkmark, both objects with fixed width). We have to help MUI, and
  1585. make the checkmark bigger. (This is ... impossible.) But we could replace
  1586. the checkmark by a horizontal group, containing a checkmark and a slider.
  1587. Now, the window could be sized horizontally again, because the column
  1588. group can be sized again, because it has a column (the right one) which
  1589. can be sized, because all the members in this column can be sized, because
  1590. even the horizontal group (containing a checkmark and a slider) can be
  1591. sized, because this group has one object (the slider) that can be sized.
  1592. Uff... "can be sized" means here "can be sized horizontally", MUI does
  1593. the same thing for vertical sizing.
  1594. - Hey, my window looks stupid with all these sliders which I filled in
  1595. after I've heard your explanation! - No problem, MUI offers of course
  1596. another solution for our problem. It has an object that can be sized
  1597. to unlimited dimensions and which is... invisible. We call it HVSpace.
  1598. Our little ANSI-graphic - AmigaGuide has no drawing tools :-( is here:
  1599.          +--+------------------------------------------+--+--+
  1600.          |  | Title                                    |  |  |
  1601.          +--+------------------------------------------+--+--+
  1602.          | (Label 1)  | (Slider---------------------------)  |
  1603.          +---------------------------------------------------+
  1604.          | (Label 2)  | (Slider---------------------------)  |
  1605.          +---------------------------------------------------+
  1606.          | (Label 3)  | (Checkmark) | (HVSpace------------)  |
  1607.          +---------------------------------------------------+
  1608. And you code this like that:
  1609. CHUNK:MUI-WINDOWLAYOUT
  1610. ColumnGroup(2),
  1611.    Label( "_Label 1" ),
  1612.    Slider( "s", 1, 10 ),
  1613.    Label( "L_abel 2" ),
  1614.    Slider( "a", -5, 20 ),
  1615.    Label( "La_bel 3" ),
  1616.    HGroup,
  1617.       CheckMark( "b" ),
  1618.       HVSpace,
  1619.    End,
  1620. I hope you got it now. The HVSpace is also usefull in a secound case:
  1621. if you have a big columngroup and do not want to put objects in aall cells,
  1622. you can assign the HVSpace to the cell which should be empty.
  1623. To get further impressions of MUI-layout, you can look into the gadget
  1624. files. This was not the whole MUI documentation for Madhouse, just the
  1625. basic knowledge. All types of gadgets and another feature of the groups
  1626. can be found in the next chapters.
  1627. If you have understood the basics of MUI, you can also write your own MUI
  1628. application with your knowledge. The code differs a bit (since you are
  1629. programming in a real language, and don't write instructions into a small
  1630. file for Madhouse). Then, a big compiler goes through your code and not my
  1631. self-made MadhouseConfigEd. Where is the difference?! A compiler is a
  1632. program which a lot of people work on, for years. My interpreter for the
  1633. MadhouseConfigEd was done by myself in four days. Please excuse me,
  1634. a) I have not included every MUI-feature into the interpreter. You cannot
  1635.    use paged groups, the weight of every object is 100, you cannot use
  1636.    CustomClasses (why should you). But you can do a lot. And the MUI
  1637.    BlankerPrefs windows generated out of the gadget files look as good as
  1638.    'real' MUI applications.
  1639. b) I was too lazy to handle ANY error in the gadget-file. You can make
  1640.    thousands of errors, and Madhouse does not crash (I hope), but you do
  1641.    not get an indiviadual error (or you get no error) for every mistake.
  1642.    You will recognize if something is wrong (the window will look strange),
  1643.    an it should not be difficult to find the error in such a small file.
  1644. @endnode
  1645. @node pm_solv "The solution"
  1646.          +--+----------------------------------------+--+--+
  1647.          |  | Title                                  |  |  |
  1648.          +--+----------------------------------------+--+--+
  1649.          |                    Button 1                     |
  1650.          +-------------------------------------------------+
  1651.          |                    Button 2                     |
  1652.          +-------------------------------------------------+
  1653.          |       Button A        |        Button B         |
  1654.          +-------------------------------------------------+
  1655.          |                    Button 4                     |
  1656.          +-------------------------------------------------+
  1657. @endnode
  1658. @node pm_groups "Groups"
  1659. Of course I don't explain the basics of MUI-groups again (see greenhorn
  1660. chapter).
  1661. @{B}HGroup and HGroup( "Grouptitle" )@{UB}
  1662. The HGroup (which places the objects inside horizontally) can have a frame
  1663. around it and gets visible. The grouptitle will be shown in or above the
  1664. frame. If you want to have a frame, use the syntax above.
  1665. You can do the same thing with VGroups.
  1666. @{B}ColumnGroup( x ) and ColumnGroup( "Grouptitle", x )@{UB}
  1667. x stands for the amount of columns, if you use the second syntax you can
  1668. have a grouptitle.
  1669. @endnode
  1670. @node pm_gadgets "The Gadgets"
  1671. @{B}Some standards in this chapter@{UB}
  1672. - @{I}Key@{UI} contains a non-captial letter which is used as the control
  1673. key for the gadget. The user can control the gadget by pressing this key on
  1674. the keyboard. Example: Slider( "a", 5, 10 ) makes a slider which can be
  1675. controlled with "a". You cannot use the chars "o", "c" and "t", because
  1676. they are already used by the gadgets on the bottom of every BlankerPrefs
  1677. window.
  1678. - @{I}Text@{UI} contains a text which will be displayed on the left side of
  1679. the gadget. Example: LabelCycle( "Color _selection", "s", "Red|Green|Blue")
  1680. would draw "Color selection" next to the gadget, with the char "s" under-
  1681. lined. This is used to show the user the control key of the gadget.
  1682. @{B}Slider( Key, Minimum, Maximum )@{UB}
  1683. creates a slider. It ranges from Minimum to Maximum.
  1684. @{B}LabelSlider( Text, Key, Minimum, Maximum )@{UB}
  1685. like above, but has an additional label (text) on the left side.
  1686. @{B}CheckMark( Key )@{UB}
  1687. creates a Checkmark.
  1688. @{B}Cycle( Key, Entries )@{UB}
  1689. creates a cycle gadget with some entries. "Entries" has to contain all
  1690. entries of the cycle gadget, separated by "|". Example: "RGB|HSV|CMYK".
  1691. MUI gives the first entry the number 0, so if you select "RGB", Madhouse
  1692. will write "0" into the prefs file (the same thing with normal gadgets).
  1693. @{B}LabelCycle( Text, Key, Entries )@{UB}
  1694. like above, but has an additional label (text) on the left side.
  1695. @{B}String( Key, Length )@{UB}
  1696. creates a string gadget which can contain max. Lenght chars. The upper
  1697. limit is 500 chars.
  1698. @{B}LabelString( Text, Key, Length )@{UB}
  1699. like above, but has an additional label (text) on the left side.
  1700. @{B}Label( Text )@{UB}
  1701. This object gives you the posibility to place your objects better. If you
  1702. separate gadget and label (as you do it normally), the windows will look
  1703. much better. Use this object and a gadget without Label... in front of its
  1704. name.
  1705. @{B}LLabel( Text )@{UB}
  1706. like above, but this object aligns the text left, not right. This is useful
  1707. to place another text on the right side of a slider (e.g. "seconds",
  1708. "minutes", "m", "Objects", things like that). An example of this object
  1709. can be found in the gadget file of Waves.
  1710. @{B}HVSpace@{UB}
  1711. The important dummy object, its usage was explained in the greenhorn
  1712. chapter.
  1713. @{B}HBar@{UB}
  1714. An elegant object which draws a horizontal bar to separate some gadgets.
  1715. Should be used only in horizontal groups.
  1716. @{B}VBar@{UB}
  1717. like above, but draws a vertical bar. An example can be found in the gadget
  1718. file of Stars.
  1719. @endnode
  1720. @node pm_mpo "Der CHUNK:MUI-PREFSORDER"
  1721. "How can MUI get along with only one chunk?!" - It can't! In some rare
  1722. cases, you will need the Chunk MUI-PREFSORDER.
  1723. But first a problem to explain its usage:
  1724. Madhouse writes the settings of the BlankerPrefs window in that order, in
  1725. which the gadgets were defined. That is true for normal gadgets and for
  1726. MUI gadgets. BUT: You can define normal gadgets in the order you want, you
  1727. cannot do this with MUI gadgets. You have to define them in an order that
  1728. makes the window look good.
  1729. With this Chunk, you can easily re-order the settings which are written
  1730. into the prefs file. First, you give every gadget a name:
  1731. CHUNK:MUI-WINDOWLAYOUT
  1732. VGroup,
  1733.    LLabel( "An extract of Stars" ),
  1734.    ColumnGroup( 2 ),
  1735.       Label( "_Maximum" ),
  1736.       Maximum = Slider( "m", 1, 8 ),
  1737.       Label( "M_inimum" ),
  1738.       Minimum = Slider( "i", -7, 1 ),
  1739.       Label( "C_anges" ),
  1740.       Changes = Slider( "a", 0, 15 ),
  1741.       Label( "_Start" ),
  1742.       Start = Slider( "s", -7, 8 ),
  1743.    End,
  1744. Without MUI-PREFSORDER and the names, your prefs file would look like that:
  1745. Setting of Maximum
  1746. Setting of Minimum
  1747. Setting of Changes
  1748. Setting of Start
  1749. Duration in minutes
  1750. Path to the directory of your blanker
  1751. And now comes the point: if you use the names and write this into your
  1752. gadget file
  1753. CHUNK:MUI-PREFSORDER
  1754. Changes, Start, Minimum, Maximum
  1755. you get this prefs file:
  1756. Setting of Changes
  1757. Setting of Start
  1758. Setting of Minimum
  1759. Setting of Maximum
  1760. Duration in minutes
  1761. Path to the directory of your blanker
  1762. Ok, you can live without this Chunk, but sometimes it is helpful.
  1763. @endnode
  1764. @node problems "Known problems"
  1765.      Problems with AMOS and Protracker (and maybe other Sound-editors)
  1766.   Some programmers think, there won't be problems if they don't open
  1767. normal intuition-screens but something else. So did the programmers of
  1768. AMOS and Protracker. These special screens have a disadvantage:
  1769. It's not possible for Madhouse and some blankers to open a normal screen
  1770. in front of them. So you can only use Madhouse with these programs, if you
  1771. - select only Blankers which Aicke made in AMOS (see this doc)
  1772. - don't use the password-screen and the Black Background.
  1773.                        Problems with Mousometer
  1774.   This is an AMOS-problem, too. The AMOS blankers will make superb high-
  1775. scores, the handler of Mousometer gets mad.
  1776.                       Problems with VGA-monitors
  1777.   For the same reason (screens etc.) you cannot use programs which were
  1778. written in AMOS with VGA or Super-VGA monitors. If you use such a monitor,
  1779. you'll have to de-select the AMOS-Blankers, and Madhouse has got only
  1780. five blankmodes. Sorry. When the AGA-Update (for which normal Intui-
  1781. Screens were promised) is available we will change the blankers so you
  1782. can use them, too. But we suspect that this update will need some time...
  1783.          Problems with a static Ram-Disk which is mounted as RAM:
  1784.   Perhaps some people haven't got a normal Ram-Disk which is erased after
  1785. a reset, but instead a static Ram-Disk (like SD0: or VD0:) which name
  1786. is RAM:. Then, after a reset, Madhouse will find the RAM:Madhouse_Storage
  1787. on its startup and it will think it was started twice.
  1788.   To avoid such a situation, you can easily merge such a line to your
  1789. S:UserStartup:
  1790. delete >NIL: RAM:Madhouse_Storage ALL
  1791.   Please notice that it is impossible to have no RAM:-Device at all.
  1792. @endnode
  1793. @node authors "Authors, Copyright, etc."
  1794. We needed nineteen months to develop Madhouse and the Blankmodes. Aicke
  1795. started earlier, because we planned to create a modular ScreenBlanker 
  1796. while my computer was in repair.
  1797. Aicke wrote 62,5% of the blankers, and gave me a lot of tips to improve
  1798. Madhouse and my blankers.
  1799. Madhouse is my second C-program. So there were many bugs in it. I hope
  1800. all were saved. The first program was the FlyingToasters-Blanker, which I
  1801. wanted to distribute alone. This english documentation and the german
  1802. one was done by me. I expect that there are hundreds of faults in this
  1803. text. It would be nice if someone would correct it...
  1804. In the future, we will possibly add some new blankers (I hope our users
  1805. will add some!). I planned a MUI version of the main program, but as you
  1806. can see, I done it in the first release...
  1807. If you recognize a bug, please tell us. If you wrote a good blanker, don't
  1808. keep it on your own!! You can distribute it! We would be very happy if we
  1809. see that even other programmers use our system.
  1810. You can send us ideas, graphics and code. And a letter would be very nice,
  1811. too. If you want a reponse, please insert ENOUGH stemps. (German ones or
  1812. those which can be used everywhere.)
  1813. When sending in bug reports, please state exactly under what circumstances
  1814. the bug occurred, what equipment was used and what happened. If possible
  1815. also try to give us enough information to reproduce the bug. It is very
  1816. difficult to find bugs when you don't know exactly what happened.  
  1817. Sorry, no E-mail...
  1818. Aicke Schulz
  1819. Neudeckerweg 118
  1820. D-12355 Berlin
  1821. (Germany)
  1822. If you speak german, you can use Aicke's telephone-number:
  1823. 030 (Berlin) / 664 48 22
  1824. After the 1st of april '96, I can be reached under the following address:
  1825. Carsten Jahn
  1826. Kuckucksruf 34
  1827. 16761 Stolpe-S
  1828. (Germany)
  1829. Thank you for your letter!
  1830. @{U}Registration@{UU}
  1831. You cannot use Madhouse permanently without registering yourself. On start-
  1832. up, Madhouse won't recognize your preferences files in ENV: and ENVARC:, if
  1833. it cannot get a correct Keyfile with the filename S:Madhouse.key which you
  1834. will get after you have sent us DM 20 or US$ 15.
  1835. To become registrated, please
  1836. - fill in the registration form (you can print it out),
  1837. - put it together with DM 20 or US$ 15 in an envelope
  1838.   and send it to one of the above addresses (notice that you can write to
  1839.   me after april '96 only!)
  1840. Let's @{"print the registration form" system "copy Registration_E.txt to PRT:"}.
  1841. Credits: The blankers CrazyPixel, DigitalClock, Drops, Glitter, Memory,
  1842. Note, Skyline, SoftwareFailure, Thunder and Worldtime were developed with
  1843. AMOS-Professional. The blankers Fireworks, FlyingToasters, Shuffle, Stars,
  1844. Soccer and Waves were developed with Maxon C++.
  1845. Madhouse and all data belonging to it is Copyright 
  1846.  1994 - 1995 Carsten
  1847. Jahn and Aicke Schulz. All rights worldwide reserved.
  1848. @{"MUI",link mui_info} is Copyright Sefan Stunz.
  1849.                    Copyright and Disclaimer:
  1850.                    =========================
  1851.   The programs and files in this distribution are shareware, and are
  1852. Copyright (c) by Carsten Jahn and Aicke Schulz. They may be freely
  1853. distributed as long as not more then 4,00 DM (or the equivalent value
  1854. for other currencies) is charged.
  1855.   No commercial usage is permitted without written permission from
  1856. the authors. Everything in this distribution must be kept together, in
  1857. original unmodified form.
  1858.   But: the distribution may be crunched with "Lha" (
  1859.  Stefan Boberg).
  1860. (For the use with bulletin board systems).
  1861. No warrenty:
  1862. THERE  IS  NO  WARRANTY  FOR  THE  PROGRAM,  TO  THE EXTENT PERMITTED BY
  1863. APPLICABLE  LAW.   EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
  1864. HOLDER  AND/OR  OTHER  PARTIES  PROVIDE  THE  PROGRAM  "AS  IS"  WITHOUT
  1865. WARRANTY  OF  ANY  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
  1866. LIMITED  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
  1867. PARTICULAR  PURPOSE.   THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
  1868. OF  THE  PROGRAM  IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE,  YOU
  1869. ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
  1870. IN  NO  EVENT  UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
  1871. WILL  ANY  COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE
  1872. PROGRAM  AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
  1873. GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
  1874. USE  OR INABILITY TO USE THE PROGRAM  (INCLUDING BUT NOT LIMITED TO LOSS
  1875. OF  DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR
  1876. THIRD  PARTIES  OR  A  FAILURE  OF THE PROGRAM TO OPERATE WITH ANY OTHER
  1877. PROGRAMS),  EVEN  IF  SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
  1878. POSSIBILITY OF SUCH DAMAGES.
  1879. @endnode
  1880. @node mui_info "Madhouse uses MUI, too!"
  1881.                           This application uses
  1882.                         MUI - MagicUserInterface
  1883.                 (c) Copyright 1993/94 by Stefan Stuntz
  1884. MUI is a system to generate and maintain graphical user interfaces. With
  1885. the  aid  of  a  preferences program, the user of an application has the
  1886. ability to customize the outfit according to his personal taste.
  1887. MUI is distributed as shareware. To obtain a complete package containing
  1888. lots of examples and more information about registration please look for
  1889. a  file  called  "muiXXusr.lha"  (XX means the latest version number) on
  1890. your local bulletin boards or on public domain disks.
  1891.           If you want to register directly, feel free to send
  1892.                          DM 30.-  or  US$ 20.-
  1893.                                   to
  1894.                              Stefan Stuntz
  1895.                         Eduard-Spranger-Stra
  1896.                              80935 M
  1897. nchen
  1898.                                 GERMANY
  1899. @endnode
  1900.